2014-02-17 29 views
25

我如何傳遞一個變量到一個URL?MVC 4 - 剃鬚刀 - 傳遞一個變量到href網址

我嘗試是這樣的,但是這是行不通的。該網址只能說明這一點:

http://myurltest.com,而不是完整的路徑

@if(check1 != "d") 
{  
    <li> 
     <div class="a"></div> 
    </li> 
    <li> 
     <div class="b"></div> 
    </li> 
    <li> 
     <a href="http://myurltest.com/" + @check1 + "/go/5/true"> 
     <div class="c"></div> 
     </a> 
    </li> 
} 

回答

54

像這樣:

<a href='@string.Format("http://myurltest.com/{0}/go/5/true", check1)'> 

點是整個URL插入標記,而不是相結合的標記和代碼部分。

+0

謝謝版本多...它的工作的偉大.. 1,我接受你的回答在5分鐘時,我讓做.. – user2232273

+1

這是錯過了關閉) –

+0

是否有可能使用@ Html.ActionLink(「Name」,「CompleteURL」)生成等效的html?我試過了,但生成的鏈接(可以說:'http:// website/controllerB/actionmethodB?id = aaaxxx')被添加到*當前url *。生成的最終鏈接是 - 'http:// website/controllerA/http:/ controllerB/actionmethodB?id = aaaxxx'。 – barnes

6

試試這個,它正在

<a href="http://myurltest.com/@check1/go/5/true"> 
4

試試這個:

<a href="@Url.Content("~/id?" + check1)">click here</a> 
7

如果它指向你的網站/應用程序的動作,那麼你應該使用

@Url.Action(your parameters) 

裏面你href屬性。

注意你也可以生成

@Html.ActionLink(your parameters) 

這些被重載的方法中的完整鏈接,智能感知或谷歌將描述所有可能的選擇。

通常,對於鏈接到同一網站的操作,這些方法比操作網址字符串更好,因爲可以在本地機器上使用(基本URL爲localhost:someport),並且優於"@check1/go/5/true"(相對於路徑),因爲避免部署時間URL不匹配。

另一方面,如果鏈接指向外部資源,那麼類似的建議<a href="http://myurltest.com/@check1/go/5/true">是罰款。

有一個愉快的一天,

阿爾貝託

3

在C#中使用字符串插值6

<a href="@($"http://myurltest.com/{check1}/go/5/true")" > 

Wiki

在計算機編程,串插或變量插值(也變替代或變量擴展)是評估的過程g一個包含一個或多個佔位符的字符串,產生一個結果,其中佔位符被替換爲相應的值。這是一種簡單模板處理的形式。 2或在形式上,一種準引語(或邏輯替代解釋)的形式。與字符串連接相比,字符串插值允許更簡單,更直觀的字符串格式和內容規範。

MSDN