【问题标题】:DNN7 Navigation Within Same Compiled Module同一编译模块内的 DNN7 导航
【发布时间】:2016-08-19 04:55:11
【问题描述】:

我正在使用已编译的模块 Visual Studio 模板。

我想在添加到解决方案的不同 ascx 控件之间导航。 当用户单击一个按钮时,我想加载一个不同的 ascx 控件并允许他们编辑一些数据。

在同一模块中处理 ascx 到 ascx 控件导航的最佳方法是什么?

【问题讨论】:

  • 当我尝试在 View.ascx 页面中注册另一个控件时,另一个控件将起作用,但下拉列表控件无法正确显示。任何想法为什么另一个 ascx 控件中的下拉列表控件无法正确呈现?

标签: dotnetnuke


【解决方案1】:

查看Navigating between DotNetNuke module controls using EditURL() or NavigateURL(),详细了解可用于在模块中的控件之间导航的选项。

【讨论】:

  • 是的,DNN 7 没有任何变化。DNN 6 添加了弹出窗口的想法,因此根据站点设置、模块定义和选择的导航方法,您可能会得到一个实际上是 JavaScript 的 URL,用于在弹出窗口中打开控件。但这是最近记忆中NavigateURL 中唯一真正的变化(它对EditUrl 的影响通常远大于NavigateURL)。
  • 我需要在 ..dnn 文件中注册我的新 ascx 控件吗?我看到编辑、视图和设置都在那里。
  • 如果您希望 DNN 处理控件之间的导航(即通过EditUrl),您需要注册它们。
  • 该模块不会被管理员使用,它只会被注册用户使用。能否使用 NavigateUrl 在 7 个自定义 ascx 控件之间导航,并将所有控件注册为 VIEW 控件。
  • 你可以指定所有的模块控件都是“view”类型的(但是你需要给每个他们自己的控制键)。要在模块的控件之间导航,您将使用EditUrl,而不是NavigateURL,因为它将获取当前模块的上下文。也就是说,在面向公众的模块中使用EditUrl 风格的导航并不总是最好的体验,因为它调用了“模块隔离”,这意味着页面上的任何其他模块都消失了,并且总是使用站点的编辑皮肤.如果您不想要其中任何一个,则需要管理自己的控件加载。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 2011-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多