2011-06-13 94 views
23

我试图做到这一点:Url.Content在asp.net web的表单

<a href="~/Cases/SupRequestSearch.aspx">Search request</a> 

,所以我需要的~被渲染http://myserver/app/...

MVC中我会做

<a href="<%=Url.Content("~/Cases/SupRequestSearch.aspx")%>>Search request</a> 

在asp.net web窗体中是否有类似的东西?

+3

尝试使用Page.ResolveUrl在Web表单 还回答了这里:[这里] [1] [1]:http://stackoverflow.com/questions/1630175/url-content-in-asp-net – 2011-09-02 13:48:53

回答

12

尝试将runat="server"添加到您的标记。

+1

为什么要投票? – 2012-07-30 15:27:15

+0

因为,runat =“server”如何帮助他解决他的问题? – AlvinfromDiaspar 2012-07-31 04:10:49

+2

@AlvinfromDiaspar - 它创建一个服务器标签,然后asp.net可以解释和转换的URL。 – 2012-07-31 12:16:09

5

尝试这种情况:

<asp:hyperlink id="Search" NavigateUrl="~/Cases/SupRequestSearch.aspx" runat="server" /> 

或只是

<a href="~/Cases/SupRequestSearch.aspx" id="Search" runat="server">Search request</a> 
53

如rapadai如上所述,的

Url.Content("~/path/to/file.ext") // MVC 
在web表单

等效被

Page.ResolveUrl("~/path/to/file.ext") // Webforms 
1

如果你没有任何UrlPage你仍然可以使用

VirtualPathUtility.ToAppRelative(string)VirtualPathUtility.ToAbsolute(string)

你仍然需要是天经地义的网络环境中 - 或本没有意义。

参见:ResolveUrl without an ASP.NET Page

0
<%= Page.ResolveUrl("~/Path/To/Page") %> 
+0

虽然此代码片段可能会解决问题,但[包括解释](http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)确实有助于提高帖子的质量。请记住,您将来会为读者回答问题,而这些人可能不知道您的代码建议的原因。 – gunr2171 2015-05-08 18:02:03

+0

@ gunr2171你提供的帖子中最有回报的答案是:“每个人都可以自由地对他们认为有用的任何答案进行投票,我也不是特别喜欢代码唯一的答案,”但是对于某些问题他们足够“。”被接受的答案是:“然后再说;”通常只需要一小段代码就可以了,我已经看到了一些解决方案,这些解决方案并不重要。“案例中,刚才问到的问题是:“做X的命令是什么?”我发布了命令。我的回答在某种程度上是不正确的,你是否低估了它? – 2015-05-12 22:11:16