dnn页面调用

来源:互联网 发布:提问的软件 编辑:程序博客网 时间:2024/04/30 13:27

NavigateURL 和 EditUrl的用法和区别及在NavigateURL中传多个值问题
 
在DNN中,
NavigateURL的命名空间:DotNetNuke.Common.Globals
函数:
A1、 public static System.String NavigateURL ( System.Int32 TabID , System.Boolean IsSuperTab , DotNetNuke.Entities.Portals.PortalSettings settings , System.String ControlKey , params string[] AdditionalParameters )
A2、 public static System.String NavigateURL ( System.Int32 TabID , DotNetNuke.Entities.Portals.PortalSettings settings , System.String ControlKey , params string[] AdditionalParameters )

A3、 public static System.String NavigateURL ( System.Int32 TabID , System.String ControlKey , params string[] AdditionalParameters )

A4、 public static System.String NavigateURL ( System.Int32 TabID , System.String ControlKey )

A5、 public static System.String NavigateURL ( System.String ControlKey )

A6、 public static System.String NavigateURL ( System.Int32 TabID , System.Boolean IsSuperTab )

A7、 public static System.String NavigateURL ( System.Int32 TabID )

A8、 public static System.String NavigateURL (  )


EditUrl 的
命名空间:DotNetNuke.Entities.Modules.PortalModuleBase
函数:
B1、 public System.String EditUrl ( System.String KeyName , System.String KeyValue , System.String ControlKey , params string[] AdditionalParameters )

B2、 public System.String EditUrl ( System.String KeyName , System.String KeyValue , System.String ControlKey )

B3、 public System.String EditUrl ( System.String KeyName , System.String KeyValue )

B4、 public System.String EditUrl ( System.String ControlKey )

B5、 public System.String EditUrl (  )


可以看出EditUrl主要用于页面内控件间的跳转ControlKey,可传递参数对KeyName/KeyValue,   如: Response.Redirect(EditUrl("detail"), True)等
而NavigateURL利用Tabid可以在页面间跳转,也可以传递多个参数对,使用范围更广

对于在NavigateURL中传多个参数对问题,我是这么做的:
hypTitle.NavigateUrl = NavigateURL(tabinfo.TabID, Null.NullString, "ItemID=" + itID.ToString(), "CategoryID=" + CategoryList.TrimEnd(","))
要注意格式和写法!
   上述方法经过我实践的检验是成功的!

 

 

 

EditURL与NavigateURL 翻阅DNN的代码,经常会碰到使用EditURL函数,比如,最常见的我们在可以编辑的Item前面有一支笔,点击后就跳到编辑的页面: <asp:HyperLink NavigateUrl='<%# EditURL("ItemID",DataBinder.Eval(Container.DataItem,"ItemID")) %>' Visible="<%# IsEditable %>" runat="server" ID="Hyperlink1"><asp:Image ID=Hyperlink1Image Runat=server ImageUrl="~/images/edit.gif" AlternateText="Edit" Visible="<%#IsEditable%>" resourcekey="Edit"/></asp:hyperlink> EditURL主要是为了跳转到Edit页面而定义的,当然它也可以跳转到其他Control页面。它在模块的基类Portal