У меня есть пользовательский элемент управления, содержащий GridView. GridView имеет столбец HyperLinkField и столбец шаблона, который содержит элемент управления HyperLink.
Проект ASP.NET структурирован следующим образом, со страницей Default.aspx в каждом случае с использованием пользовательского элемента управления.
- Application Root
- Controls
- UserControl with GridView
- SystemAdminFolder
- Default.aspx
- Edit.aspx
- OrganisationAdminFolder
- Default.aspx
- Edit.aspx
- StandardUserFolder
- Default.aspx
- Edit.aspx
- Controls
Примечание. Папки используются для обеспечения правильной роли пользователя.
Мне нужно установить DataNavigateUrlFormatString для HyperLinkField и NavigateUrl для HyperLink, чтобы разрешить страницу Edit.aspx в соответствующей папке.
Если я установил для URL перехода значение «Edit.aspx», URL-адрес в браузере отобразится как «http://Application Root / Controls /Edit.aspx 'независимо от исходного каталога.
Я не могу использовать корневой оператор веб-приложения (~ /), поскольку путь должен быть относительно текущей страницы, а не корня приложения.
Как я могу использовать один и тот же пользовательский элемент управления в нескольких папках и разрешить URL-адрес другой страницы в той же папке?
Примечание. Этот вопрос во многом основан на аналогичном вопросе azhar2000s на форумах asp.net, что соответствует моей проблеме.