我有一个包含 GridView 的用户控件。GridView 有一个 HyperLinkField 列和一个包含 HyperLink 控件的模板列。
ASP.NET 项目的结构如下,Default.aspx 页面在每种情况下都使用用户控件。
- 应用程序根
- 控件
- 带有 GridView 的用户控件
- 系统管理员文件夹
- 默认.aspx
- 编辑.aspx
- 组织管理文件夹
- 默认.aspx
- 编辑.aspx
- 标准用户文件夹
- 默认.aspx
- 编辑.aspx
- 控件
注意:这些文件夹用于确保用户具有正确的角色。
我需要能够设置 HyperLinkField 的 DataNavigateUrlFormatString 和 HyperLink 的 NavigateUrl 以解析到相应文件夹中的 Edit.aspx 页面。
如果我将导航 URL 设置为“Edit.aspx”,则无论原始目录如何,浏览器中的 URL 都会显示为“ http://Application Root/Controls/Edit.aspx”。
我不能使用 Web 应用程序根操作符 (~/),因为路径需要相对于当前页面,而不是应用程序根。
如何在多个文件夹中使用相同的用户控件并将 URL 解析到同一文件夹中的另一个页面?
注意:该问题强烈基于azhar2000s 在与我的问题相匹配的 asp.net 论坛上提出的类似问题。