为什么HyperLink控件没有获取url?

时间:2015-10-30 07:44:41

标签: asp.net dotnetnuke-7

我在页面中使用HyperLink控件

<asp:HyperLink runat="server" ID="btn_add_Task" Text="Create New Task" CssClass="dnnPrimaryAction"></asp:HyperLink>

在代码behinde中设置url

 protected void On_Load(object sender, EventArgs e)
        {
            base.OnLoad(e);

            btn_add_Task.NavigateUrl = ModuleContext.EditUrl("Edit");
        }

但是在构建和运行时,属性中没有任何url。

2 个答案:

答案 0 :(得分:1)

为了使EditUrl(&#34; Edit&#34;)正常工作,您需要确保拥有一个模块视图,其控制键匹配&#34;编辑&#34;。以下是用于安装模块的.dnn清单文件中的内容:

<moduleControl>
    <controlKey>Edit</controlKey>
    <controlSrc>DesktopModules/MyModule/Edit.ascx</controlSrc>
    <controlType>Edit</controlType>
    ...
</moduleControl>

它应该在Host&gt;中看起来像这样扩展程序&gt; [编辑你的扩展名]&gt;模块定义:

enter image description here

注意我有一个&#34;编辑&#34;映射到我的Edit.ascx视图的键

答案 1 :(得分:0)

ModuleContet.EditUrl("Edit")它返回null因为编译器找不到页面导致没有扩展名它必须是这样的

btn_add_Task.NavigateUrl = ModuleContext.EditUrl("Edit.aspx");