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