首页 文章

DotNetNuke嵌套控件重定向方法

提问于
浏览
0

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

这是一个例子 .

1)第一视图表单:人员列表

可用按钮:

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

假设我选择2)用户地址

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

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

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

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

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

如果这没有意义,请告诉我,我会尝试更好地解释它 .

谢谢 .

3 回答

  • 0

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

    例:

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

    您可以将返回代码连接起来以使用查询字符串值“prevvalue”

    克里斯

  • 0

    Module Views, Settings & Navigation上查看我的DNNHero.com视频教程 . 我给出了关于进行模块视图导航的不同方法的代码和指令 .

  • 0

    我决定为此编写一个自定义解决方案 . 它运作得很好,但有点牵扯 .

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

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

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

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

    5)这可以尽可能地重复 . 需要注意的一点是:在将SourceForms属性传递回上一个表单之前,必须从SourceType枚举中删除当前表单;如果您不这样做,您来自的表格也将被列为您不想要的“返回”表格 .

    希望这有助于某人在模块中的多个控件中找出干净的DNN重定向解决方案时遇到问题 .

    如果这不清楚,我会展示我的一些代码 .

相关问题