gpt4 book ai didi

c# - DNN : Using multiple web user controls in one module and showing different controls in different pages

转载 作者:太空狗 更新时间:2023-10-29 18:05:57 24 4
gpt4 key购买 nike

我是 DotNetNuke 新手。请温柔点我正在使用“DotNetNuke 6 Compiled Module”模板来构建我的模块。我在项目中已有 View.ascx 控件,并添加了另一个名为 test.ascx 的控件。

我的问题是:如何在添加模块的不同页面中显示不同的 View 。 (如果可能的话)例如在 default.aspx 页面上显示 View.ascx,然后在 default2.aspx 页面上显示 test.ascx 用户控件?

如果这不可能,是否意味着我需要为每个 ascx 控件使用不同的 visual studio 项目。当然不是。

最佳答案

天文,

选项 1:

您需要转到 Host > Extensions > Edit your extesion > Expand Module definition 并单击 add control。

在这里您必须选择您的 ascx 控件并提供任何字符串形式的键。假设您提供了 key test,您选择了用户控件并将控件类型选择为 view 并保存。

现在从 View 中您可以使用以下代码导航到新添加的控件:DotNetNuke.Common.Globals.NavigateUrl(TabId,"test","mid="+ModuleID);

这将重定向页面并使用 test.ascx 加载您的页面。

当您想默认显示 view.ascx 并希望在执行某些操作时切换 View 并显示 test.ascx 时,您可以使用这种选项。这里的缺点是,当您切换到 test.ascx 时,添加到页面的所有其他模块将不可见。

选项 2:

您必须在模块中创建一个新定义。为此,转到 Host > Extensions > Edit Your module > Expand Module Definitoins > 单击 add 并添加新定义。添加定义后,您可以将 test.ascx 和 View 控件添加到定义中,而无需任何键。

完成以上操作后,如果您删除模块并再次添加到页面,它将显示页面中添加了两个模块。这是两个定义。查看博客模块定义,了解多个定义如何工作的示例。

当你想从同一个模块同时显示多个 View 控制时使用这个选项。

希望对您有所帮助。如果您还有其他问题,请告诉我。

关于c# - DNN : Using multiple web user controls in one module and showing different controls in different pages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18755475/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com