2011-06-13 65 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