Module 视图中的DNN get参数在编辑中不可用

Module 视图中的DNN get参数在编辑中不可用,module,dotnetnuke-7,Module,Dotnetnuke 7,我正在创建一个dnn模块。内容取决于url中的参数 我希望能够在“编辑内容”模式下编辑此内容。但是,当我去编辑内容时,url中的参数不再可访问,因为它是父文档。如何将该值从view.ascx传递到edit.ascx?解决方法是在用户输入该参数的字段中设置一个字段。但我知道这不是一个很好的解决方案。我猜您必须覆盖dotnetnuke核心才能做到这一点是的,我知道它很糟糕。尝试将参数存储在Cookie或localstorage中。那么你应该可以访问它。当然,用户可以修改它,但您可以通过存储服务器端加

我正在创建一个dnn模块。内容取决于url中的参数


我希望能够在“编辑内容”模式下编辑此内容。但是,当我去编辑内容时,url中的参数不再可访问,因为它是父文档。如何将该值从view.ascx传递到edit.ascx?

解决方法是在用户输入该参数的字段中设置一个字段。但我知道这不是一个很好的解决方案。我猜您必须覆盖dotnetnuke核心才能做到这一点是的,我知道它很糟糕。

尝试将参数存储在Cookie或localstorage中。那么你应该可以访问它。当然,用户可以修改它,但您可以通过存储服务器端加密或诸如此类的内容来检查用户没有修改它。

我希望我正确理解了这个问题

要将视图中的参数传递给编辑控件,应首先确保它们在模块定义中正确注册。您的默认视图应该有一个空的控制键,并且您的编辑应该用一个控制键注册,例如addedit

在视图控件和编辑控件之间创建链接时,请使用PortalModuleBase的EditUrl方法。当传递参数(例如,要加载到编辑控件中的项的id)时,可以将其作为EditUr方法中的参数传递

my view.ascx.cs中的示例:

lnkEdit.NavigateUrl = EditUrl("id", "16", "addedit");
这将为edit.ascx分配一个模块视图链接,假设定义中的controlkey是addedit,并传递值为16的url参数id

有关如何进行DNN模块视图和导航的完整课程,请参见我的DNN模块视图教程