为什么 HyperLink 控件得不到 url?

Why HyperLink control don't get url?

我在我的页面中使用了超链接控件

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

在后面的代码中设置它 url

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

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

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

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

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

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

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

在 Host > Extensions > [Edit you Extension] > Module Definitions 中应该如下所示:

请注意,我有一个带有“编辑”键的控件映射到我的 Edit.ascx 视图