如何在aspx页面中为href生成url
Posted
技术标签:
【中文标题】如何在aspx页面中为href生成url【英文标题】:How to generate url for href in aspx page 【发布时间】:2014-04-01 14:23:34 【问题描述】:如何在母版页的ASPX
页面中生成URL
,以便引用在整个应用程序中随处可见?
以下是母版页中菜单的示例:
<a href="Admin/AddVendor.aspx">Add Vendor</a>
问题是,如果我将 URL
保留在母版页上,那么当有人已经在驻留在 Admin 文件夹中的页面上时,此 URL
不再有效。
我每次都需要从根目录路径URL
,但忘记如何在WebForms
中执行此操作。
【问题讨论】:
您需要一个根相对路径,而不是文档相对路径或绝对路径。 Adobe 有一些关于差异的good information。 【参考方案1】:尝试使用它,它映射到您网站的根目录:
<a href="/Admin/AddVendor.aspx">Add Vendor</a>
编辑:在这种情况下,您可以这样做:
<a href="<%= Page.ResolveUrl("~/Admin/AddVendor.aspx") %>">Add Vendor</a>
不过使用 asp.net 超链接控件会容易得多
<asp:HyperLink ID="Link1" runat="server" NavigateUrl="~/Admin/AddVendor.aspx" Text="Add Vendor" />
【讨论】:
我试过这个,但它从 url 中敲出项目名称并且不起作用。示例:www.a.com/myproj/Admin/AddVendor.aspx 实际上导致 www.a.com/Admin/AddVendor.aspx @flying227 根据您的要求更新了答案。 @flying227 不客气。不过我很好奇:<a>
属性和Page.ResolveUrl
不起作用吗?还是没试过?
是的,Page.ResolveUrl 的 属性也确实有效。再次感谢!【参考方案2】:
runat server html控件可以映射站点目录
<a runat="server" href="~/Admin/AddVendor.aspx">Add Vendor</a>
【讨论】:
以上是关于如何在aspx页面中为href生成url的主要内容,如果未能解决你的问题,请参考以下文章