c# - 如何导航到 DNN 中的模块?

标签 c# asp.net dotnetnuke

我创建了一个 DNN 模块并将其添加到模块列表中。 现在我想调用它,我试过这个:

Response.Redirect(Globals.NavigateURL(this.TabId, "Control Key", "parameter"), true);

但它会打开默认页面,那是空的!

我的模块在哪里?!?!或者我的错误在哪里?!

最佳答案

您是否使用模块 - 添加模块将模块添加到页面?

enter image description here

如果将模块添加到页面,您可以使用 DotNetNuke.Common.Globals.NavigateUrl 的不同重载来为模块的不同控件构建 url。除了作为一个方便的助手,Globals.NavigateUrl 使用友好的 url 提供程序来正确格式化 url。

Response.Redirect(Globals.NavigateURL(this.TabId, "Control Key", "parameter"), true);

此重载重定向到“Control Key”模块控件,使用“parameter”作为附加查询字符串参数。参数“Control key”和“parameter”充当占位符,应替换为适当的值。

“参数”实际上传递给一个带有params 的形式参数。修饰符,params string[] AdditionalParameters,可以采用字符串或数组格式的可变数量的参数。

如果要重定向到默认 View 控件,请使用重载

Response.Redirect(Globals.NavigateURL(TabId))

仅当您想从模块中的另一个控件返回到默认 View 控件时,在没有控制键或查询字符串参数的情况下重定向到 this.TabID 通常才有意义。

另见

DotNetNuke Wiki - Module navigation

关于c# - 如何导航到 DNN 中的模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11913034/

相关文章:

c# - 将结构值作为接口(interface)值传递时如何避免装箱?

c# - ffmpeg 使用 c# avformat_open 运行失败

asp.net - 在 DotNetNuke 6 中创建模块并进行调试的最简单方法

dotnetnuke - DNN 模块 - 为 View.ascx 创建页面

c# - 自定义模块,可以将模块添加到模块中以在 DNN 9.2 中创建扩展模块

c# - 如何在 C# 中使用 BinaryReader 一次读取二进制数据?

c# - Asp.net mvc 限制特定用户访问文件夹内容

c# - 使用查询字符串解析 AppSettings 值时出错

asp.net - Server.Transfer 和 Response.Redirect 哪一个更好

.net - 哪个CMS易于使用DotNetNuke或Umbraco。我们还可以将现有项目与之整合吗?