DotNetNuke嵌套控件重定向方法

时间:2015-03-18 20:45:36

标签: dotnetnuke url-redirection

任何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 :(得分:0)

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

示例:

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

您可以将返回代码连接起来,以使用" prevvalue"的查询字符串值。

克里斯

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

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

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

4)如果用户从第二个表单转到另一个表单,则重复该过程。但是,我通过了两个流行的'将枚举形成为第三个表单,以便显示两个可供选择的链接返回。

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

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

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