Asp.net 如何在DotnetNuke中重定向到另一个视图(UserControl';.ascx';)?

Asp.net 如何在DotnetNuke中重定向到另一个视图(UserControl';.ascx';)?,asp.net,user-controls,dotnetnuke,dotnetnuke-module,dotnetnuke-7,Asp.net,User Controls,Dotnetnuke,Dotnetnuke Module,Dotnetnuke 7,我是DotnetNuke的新手。我不知道DotnetNuke的所有术语。请纠正我。这将帮助我提高 我创建了一个带有2个UserControl的简单项目。1-View.ascx,2-ModuleInfo.ascx 1-View.ascx: 它包含一个按钮。我想将其重定向到另一个用户控件ModuleInfo.ascx 这是代码 protected void btn1_Click(object sender, EventArgs e) { Response.Redirect(DotNetNuk

我是DotnetNuke的新手。我不知道DotnetNuke的所有术语。请纠正我。这将帮助我提高

我创建了一个带有2个UserControl的简单项目。1-View.ascx,2-ModuleInfo.ascx

1-View.ascx: 它包含一个按钮。我想将其重定向到另一个用户控件
ModuleInfo.ascx
这是代码

protected void btn1_Click(object sender, EventArgs e)
{
    Response.Redirect(DotNetNuke.Common.Globals.NavigateURL("ModuleInfo"), true);
}
2-ModuleInfo.ascx 它包含静态表

我是如何将模块添加到DotnetNuke的:

1- Add .zip file of build project to Admin --> Extension
2- Edit Module from Host --> Extension --> Edit Module --> Edit Definition --> Add Module Control --> Added key "ModuleInfo" and selected view.
3- Created new page and added module to it. 
页面加载时,View.aspx正常。有一个按钮。但当我点击按钮时,它会重定向到某个页面,但它是空白的。它应该能显示桌子


如果我在这里遗漏了什么,有人能告诉我吗?

NavigateUrl必须在附加参数中包含tabId和moduleId才能工作。导航到模块内的视图的一种更简单的方法是使用base.EditUrl(),它只需要视图的controlKey。请参阅下面的代码片段,设置miUrl的两行代码都是等效的

protected void btn1_Click(object sender, EventArgs e)
{
    string miUrl = base.EditUrl("ModuleInfo");
    string miUrl = DotNetNuke.Common.Globals.NavigateURL(base.TabId, "ModuleInfo", String.Format("mid={0}", base.ModuleId));

    Response.Redirect(miUrl, true);
}

它工作得很好。如何重定向到其他模块?i、 我在模块Test1上,我想重定向到模块Test2。在这种情况下,将没有钥匙。请建议Nanji,为了从不同的模块定义导航到另一个模块视图,您需要知道ModuleId和TabId,并且可以像上面一样使用NavigateUrl()。通常,您会添加一个模块设置,以便管理员选择要重定向的模块和页面。可以使用ModuleController.GetModulesByDefinition()获取使用模块定义名称的所有模块实例的列表。