我在DNN5中遇到的另一个问题是:
我目前正在创建一个模块,显示一个具有“编辑”列的GridView。 当用户单击“编辑”列时,它应该在新窗口中打开编辑表单。 这个编辑表单是我的模块文件夹中的一个ASPX页面,它需要一个ModuleId参数才能访问模块Settings;该部分工作正常,我能够检索模块设置。
但是,我仍然有以下问题:
如何本地化我的标签?我已尝试过DNN的标签控制,但没有成功。我也试过asp:带有“meta:resourceKey”的标签,但看起来它无法访问本地资源文件。
在我的模块中使用Aspx页面非常烦人,因为它将在DotNetNuke的上下文之外运行。有人知道允许我使用PortalModuleBase的方法吗? 我已经考虑过在新窗口中显示一个DotNetNuke页面,只需引用要加载的Control即可。但是,当我这样做时,它会显示整页(所以使用导航栏,页脚等),我实际上只是想显示控件。 此外,我只能通过引用/DesktopModules/MyModule/Page.aspx而不是DNN的NavigateUrl来打开我的Aspx页面。
感谢您的回复。
答案 0 :(得分:0)
为什么不在另一个ASCX文件而不是ASPX页面中加载编辑界面?查看http://dnnsimplearticle.codeplex.com以获取C#中的一些示例。这是一个基本的文章模块,但从DNN的角度来看,它做了很多有用的事情。
答案 1 :(得分:0)
只要为页面指定了控件(或ctl = mycontrol),DNN就会隐藏页面上的所有其他模块。所以,
在上面的示例中,“edit”是您为控件指定的控制键。
答案 2 :(得分:0)
Mate for local Aspx-pages在DotNetNuke的上下文之外操作我建议你以编程方式进行操作。它会为您提供更多控制,如果出现问题,您可以对其进行调试。
与EfficionDave建议使用Control Key (i.e. NavigateURL("edit", "SkinSrc=[G]" + Globals.QueryStringEncode( DotNetNuke.UI.Skins.SkinInfo.RootSkin + "/" + Globals.glbHostSkinFolder + "/" + "No Skin" ))
方法
/ Adnan Zameer