DNN学习之页面间跳转----------

来源:互联网 发布:java json转对象 编辑:程序博客网 时间:2024/05/17 03:01

在DNN中,实现页面间跳转有两种方式:

一是通过调用editUrl(String keyName,String keyValue,String contentKey)实现,它有四种重载形式


Public Function EditUrl() As String;默认调用ControlKey=Edit的控件,不传递参数,一般用于新建。
Public Function EditUrl(ByVal ControlKey As String) As String;调用指定ControlKey的控件。
Public Function EditUrl(ByVal KeyName As String, ByVal KeyValue As String) As String;调用ControlKey=Edit的控件,可传递一个名为KeyName值为KeyValue的参数。如编辑文章时,我们就可以通过EditUrl("ArticleID",ArticleID)的方法调用编辑文章的控件
Public Function EditUrl(ByVal KeyName As String, ByVal KeyValue As String, ByVal ControlKey As String) As String;调用指定ControlKey的控件,并传递名为KeyName值为KeyValue的参数。比如:在查看文章时,我们定义一个ControlKey=Show的控件,然后通过EditUrl("ArticleID",ArticleID,"Show")的方法就可以调用文章查看控件了.
Public Function EditUrl(ByVal KeyName As String, ByVal KeyValue As String, ByVal ControlKey As String, ByVal ParamArray AdditionalParameters() As String) As String;当有多个参数需要传入控件的话,我们就需要用这个方法。比如:我们在查看控件的时候需要,在传入一个A参数,那么我们可以通过EditUrl("ArticleID",ArticleID,"Show","A=Avalue"),如果还要传递更多参数,可以通过先定义一个string数组,然后将需要传递的参数,存到这个数组中。
如:
Dim params(2) As String
params(0) = "A=Avalue"
params(1) = "B=Bvalue"
strUrl = EditUrl("ArticleID",ArticleID,"Show",params)

 

还可以调用navigateUrl(int tabId,String contentKey,params() as String)来实现从一个模块向另一个模块中的指定内容块跳转

        Dim moduleController As New ModuleController()

        //PortalId指站点Id,article是模块名称,manageArticle 是模块下某内容块的key,mid指定模块id
        Dim moduleInfo As ModuleInfo = moduleController.GetModuleByDefinition(PortalId, "article")        Response.Redirect(NavigateURL(moduleInfo.TabID, "manageArticle", "mid=" & moduleInfo.ModuleID))

还有很重要的一点:在DNN中,任何页面都是有tabId来标识

原创粉丝点击