我正在创建一个dnn模块。内容取决于网址中的参数。
我希望能够在“编辑内容”中修改此内容。模式。但是,当我去编辑内容时,网址中的参数不再可访问,因为它是父文档。我如何将此值从view.ascx传递给edit.ascx?
答案 0 :(得分:0)
解决方法是拥有一个用户输入此参数的字段。但我知道这不是一个很好的解决方案。我猜你将不得不重写dotnetnuke核心来做这件事(是的,我知道它很糟糕)。
答案 1 :(得分:0)
尝试将参数存储在cookie或localstorage中。然后你应该能够访问它。当然,用户可以修改它,但你可以检查用户是否通过存储服务器端加密或类似的东西来修改它。
答案 2 :(得分:0)
我希望我能正确理解这个问题。
要将参数从View传递到Edit控件,首先应确保它们已在模块定义中正确注册。默认View应该有一个空的controlkey,你的Edit应该用一个控制键注册,例如“addedit”。
在视图控件和编辑控件之间创建链接时,请使用PortalModuleBase的EditUrl()方法。传递参数时,例如要加载到编辑控件中的项的id,可以在EditUr方法中将它们作为参数传递。
示例(在我的view.ascx.cs中):
lnkEdit.NavigateUrl = EditUrl("id", "16", "addedit");
这将为edit.ascx分配一个模块视图链接(假设添加了定义中的controlkey),并传入一个值为16的url参数“id”。
有关如何进行DNN模块视图和导航的完整课程,请参阅我的DNN模块视图教程。