Почему элемент управления HyperLink не получает URL-адрес?
Я использую элемент управления HyperLink на своей странице
<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 в свойствах.
2 ответа
Решение
Для того чтобы EditUrl("Edit") работал, вам нужно убедиться, что у вас есть представление модуля с управляющей клавишей, которая соответствует "Edit". Вот как это выглядит в файле манифеста.dnn для установки модуля:
<moduleControl>
<controlKey>Edit</controlKey>
<controlSrc>DesktopModules/MyModule/Edit.ascx</controlSrc>
<controlType>Edit</controlType>
...
</moduleControl>
И это должно выглядеть следующим образом: Host > Extensions > [Edit your Extension] > Определения модулей:
Обратите внимание, что у меня есть элемент управления с ключом "Редактировать", который отображается в моем представлении Edit.ascx
ModuleContet.EditUrl("Edit")
он возвращает ноль, потому что компилятор не может найти страницу, потому что нет расширения, это должно быть так
btn_add_Task.NavigateUrl = ModuleContext.EditUrl("Edit.aspx");