【问题标题】:DotNetNuke Nested Controls Redirection MethodDotNetNuke 嵌套控件重定向方法
【发布时间】:2015-03-18 20:45:36
【问题描述】:

有任何 DNN 开发人员发现了这一点吗? 我有一个带有 4 个用户控件的用户控件 (ascx)(DotNetNuke 扩展)。第一个视图表单上有用于访问其他表单的按钮。 当您访问另一个控件时,您可以从该控件访问其他控件。我正在寻找将用户重定向回用户上一个控件的最佳方式,而不管控件的“级别”如何。

这是一个例子。

1) 第一种查看形式:人员列表

可用按钮:

2) 用户地址 3) 用户下载 4) 用户视频 5) 另一个用户相关模块

假设我选择 2) 用户地址

在该用户控件上,我有 3、4 和 5 的按钮

如果我想返回第一个视图控件 (1),我只需使用 DotNetNuke.Nvigation.NavigateURL 并传入我正在查询的用户的参数。效果很好。

但现在我没有回到 1,而是选择了 3) 用户下载 当用户点击“返回”按钮转到上一个屏幕(不是浏览器后退按钮;这是我表单上的一个按钮)时,我想返回 2)用户地址,而不是返回第一个视图控件(1 )。

我尝试将第一个视图控件添加为同一扩展中的另一个控件,并使用 EditURL 调用它,但屏幕在重定向时显示为空白(DNN 菜单等除外)。

如何将用户重定向到上一个控件,而不是模块的第一个控件?

如果这没有意义,请告诉我,我会尽力解释得更好。

谢谢。

【问题讨论】:

    标签: dotnetnuke url-redirection


    【解决方案1】:

    您可能希望将请求中的查询字符串参数传递给各种控件,以便跟踪它们的位置以及如何返回。

    例子:

    不只是调用 ctl=controlvalue 尝试调用 ctl=controlvalue&prevvalue=edit

    然后你可以连接你的返回代码来使用“prevvalue”的查询字符串值

    克里斯

    【讨论】:

      【解决方案2】:

      Module Views, Settings & Navigation 上查看我的 DNNHero.com 视频教程。我提供了有关进行模块视图导航的不同方式的代码和说明。

      【讨论】:

      • 这是一项付费服务​​; 80 美元——它是否显示了如何在同一个 dnn 扩展中向上和向下导航一系列模块控件?我知道基本的视图导航,与此不同的是导航到上一个控件,同时跟踪其上一个控件一直到链中的第一个原始控件?我相信我必须写下这个习惯。
      【解决方案3】:

      我决定为此编写一个自定义解决方案。它确实很好用,但它有点复杂。

      1) 我编写了一个 SourceType 枚举来列出我的应用程序中的不同表单。

      2) 任何页面都可以作为“基本页面”。在表单加载时,我在“基本页面 url”的设置中读取了一个属性,如果它还没有,我将基本页面的 rawurl 连同它是哪种形式(SourceType)的枚举值。

      3) 由于子控件都使用与基本页面相同的设置,所以每当导航发生时,我都会将基本页面的枚举值传递给新表单;在新表单中,我在新表单的 Page_Load 中读取了基本页面 URL,如果当前表单的枚举值与传入的枚举值不同(它是),我使用该基本 URL 作为链接“返回” .

      4) 如果用户从第二个表单转到另一个表单,则重复该过程。但是我将两个“以前的”表单枚举都传递给了第三种表单,因此它显示了两个可供选择返回的链接。

      5) 这可以尽可能长时间地重复。一个警告:在将 SourceForms 属性传递回之前的表单之前,您必须从 SourceType 枚举中删除当前表单;如果您不这样做,您来自的表单也将被列为您不想要的“返回”表单。

      希望这可以帮助在模块中的多个控件中找出干净的 DNN 重定向解决方案时遇到困难的人。

      如果不清楚,请联系我,我会展示我的一些代码。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-27
        相关资源
        最近更新 更多