如何在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 不客气。不过我很好奇:&lt;a&gt; 属性和Page.ResolveUrl 不起作用吗?还是没试过? 是的,Page.ResolveUrl 的 属性也确实有效。再次感谢!【参考方案2】:

runat server html控件可以映射站点目录

<a runat="server" href="~/Admin/AddVendor.aspx">Add Vendor</a>

【讨论】:

以上是关于如何在aspx页面中为href生成url的主要内容,如果未能解决你的问题,请参考以下文章

前端使用js如何准确获取当前页面url网址信息

如何获取当前页面的url地址?

js获取url参数 如何改变当前页面内某个图片的地址?

js如何准确获取当前页面url网址信息

URL Routing

如何在目标c中为iPhone UIWebView创建兼容的URL页面