如何在DotnetNuke的Globals.NavigateURL中决定TabId和ModuleId?

时间:2016-11-05 11:58:36

标签: c# dotnetnuke dotnetnuke-module dotnetnuke-7

我在<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> </head> <body> <div id="container"> <form action='' method='post' enctype='multipart/form-data' id="myform"> <input id="a1" name="subBox1" type="checkbox" value="\SD\1.jpg"/>1.jpg <br/> <input id="a2" name="subBox2" type="checkbox" value="\SD\2.jpg"/>2.jpg <br/> <input id="a3" name="subBox3" type="checkbox" value="\SD\3.jpg"/>3.jpg <br/> <input id="a4" name="subBox4" type="checkbox" value="\SD\4.jpg"/>4.jpg <br/> <input type='submit' name='submit' value='Delete Selected Images'/> </form> </div> </body> </html> TabId感到困惑,需要在ModuleId中作为参数传递。

我创建了一个包含2个UserControl的项目。现在我想在第一个UserControl的按钮点击事件中导航。

我已经回顾了一些参考资料。大多数人建议通过Globals.NavigateURL。我知道TabId, Key and ModuleId但我不知道KeyTabId是什么以及如何在我的ModuleId usercontrol文件中获取它。

有人可以建议我吗?

2 个答案:

答案 0 :(得分:1)

如果你的模块设置正确,那么这些模块应该可以继承。

从您的问题来看,您似乎对框架不够了解。我建议您获得DNN 7书籍的副本。它与DNN 8相关,应该正确启动。还有其他可用的东西:维基和那里的开发人员资源。

答案 1 :(得分:0)

在回答your other question时,我告诉过你,以下两行代码是等效的:

string miUrl = base.EditUrl("ModuleInfo");
string miUrl = DotNetNuke.Common.Globals.NavigateURL(base.TabId, "ModuleInfo", String.Format("mid={0}", base.ModuleId));

如果从PortalModuleBase继承,则可以访问基类中的TabId和ModuleId。如果您只需要导航到同一模块中的模块控件(视图),base.EditUrl()就可以正常工作。如果需要导航到另一个模块或另一个页面(选项卡),则需要使用NavigateUrl()。