1

交易是,当您的网站上有以下内容时,它可以工作:

<a href="/Some/Path/file.aspx" class="button">Click Me!</a>

但是,如果该站点是嵌套应用程序,则上述方法将不起作用。

我已经在 asp.net 中看到了针对这个机会的两种解决方案。

我发现的第一个解决方案是添加以下内容:

<a runat="server" href="~/Some/Path/file.aspx" class="button">Click Me!</a>

我没有尝试过这个,因为我觉得它会给你的视图状态添加更多的废话。

我尝试过的解决方案是:

<a href='<%= Page.ResolveUrl("~/Some/Path/file.aspx") %>' class="button">Click Me!</a>

问题是,在嵌套应用程序中寻址路径的首选方法是什么?

4

1 回答 1

1

您想使用HyperLink服务器控制。它是为那种事情而设计的。

<asp:HyperLink runat="server" ID="HyperLink1" 
    NavigateUrl="~/Some/Path/file.aspx" 
    CssClass="button">Click Me!</asp:HyperLink>

呈现为

<a id="HyperLink1" class="button" href="/Some/Path/file.aspx">Click Me1</a>

ASP.Net HyperLink 控件用于ResolveClientUrl解析给定的 url,因此您无需执行任何操作。

于 2013-07-31T16:37:53.027 回答