【问题标题】:How to generate url for href in aspx page如何在aspx页面中为href生成url
【发布时间】:2014-04-01 14:23:34
【问题描述】:

如何在母版页的ASPX 页面中生成URL,以便引用在整个应用程序中随处可见?

以下是母版页中菜单的示例:

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

问题是,如果我将 URL 保留在母版页上,那么当有人已经在驻留在 Admin 文件夹中的页面上时,此 URL 不再有效。 我每次都需要从根目录路径URL,但忘记如何在WebForms 中执行此操作。

【问题讨论】:

  • 您需要一个根相对路径,而不是文档相对路径或绝对路径。 Adobe 有一些关于差异的good information

标签: html asp.net webforms


【解决方案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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-20
    • 2020-12-30
    • 1970-01-01
    • 2011-03-22
    • 2011-08-22
    相关资源
    最近更新 更多