DotNetNuke 5在新窗口中打开aspx

时间:2011-05-14 03:29:51

标签: c# dotnetnuke

我在DNN5中遇到的另一个问题是:

我目前正在创建一个模块,显示一个具有“编辑”列的GridView。 当用户单击“编辑”列时,它应该在新窗口中打开编辑表单。 这个编辑表单是我的模块文件夹中的一个ASPX页面,它需要一个ModuleId参数才能访问模块Settings;该部分工作正常,我能够检索模块设置。

但是,我仍然有以下问题:

  1. 如何本地化我的标签?我已尝试过DNN的标签控制,但没有成功。我也试过asp:带有“meta:resourceKey”的标签,但看起来它无法访问本地资源文件。

  2. 在我的模块中使用Aspx页面非常烦人,因为它将在DotNetNuke的上下文之外运行。有人知道允许我使用PortalModuleBase的方法吗? 我已经考虑过在新窗口中显示一个DotNetNuke页面,只需引用要加载的Control即可。但是,当我这样做时,它会显示整页(所以使用导航栏,页脚等),我实际上只是想显示控件。 此外,我只能通过引用/DesktopModules/MyModule/Page.aspx而不是DNN的NavigateUrl来打开我的Aspx页面。

  3. 感谢您的回复。

3 个答案:

答案 0 :(得分:0)

为什么不在另一个ASCX文件而不是ASPX页面中加载编辑界面?查看http://dnnsimplearticle.codeplex.com以获取C#中的一些示例。这是一个基本的文章模块,但从DNN的角度来看,它做了很多有用的事情。

答案 1 :(得分:0)

只要为页面指定了控件(或ctl = mycontrol),DNN就会隐藏页面上的所有其他模块。所以,

  1. 您应该将代码从ASPX页面更改为ASCX控件。
  2. 将ascx控件添加到模块模块定义的“模块控件”部分。
  3. 使用DNN的NavigateURL函数生成链接。您将需要使用其中一个指定Control Key的选项(即NavigateURL(“edit”,“SkinSrc = [G]”+ Globals.QueryStringEncode(DotNetNuke.UI.SkinsInkin.RootSkin +“/”+) Globals.glbHostSkinFolder +“/”+“No Skin”))
  4. 在上面的示例中,“edit”是您为控件指定的控制键。

答案 2 :(得分:0)

  1. Mate for local Aspx-pages在DotNetNuke的上下文之外操作我建议你以编程方式进行操作。它会为您提供更多控制,如果出现问题,您可以对其进行调试。

  2. 与EfficionDave建议使用Control Key (i.e. NavigateURL("edit", "SkinSrc=[G]" + Globals.QueryStringEncode( DotNetNuke.UI.Skins.SkinInfo.RootSkin + "/" + Globals.glbHostSkinFolder + "/" + "No Skin" ))方法

  3. / Adnan Zameer

    http://www.adnanzameer.com