2012-08-03 95 views
0

我有一個使用ViewModel的Razor視圖,我需要從模型中提取ID值,以便動態創建ActionLink。該ID也是用於訪問視圖的參數。這似乎應該很容易,但我找不到一個例子。如何在MVC Razor視圖中從模型中獲取ID

編輯:

我使用MVC 3

我希望能夠與模型的ID創建ActionLink的。 所以我想要做的是這樣的:得到那個ID

$(document).ready(function() { 
**var id = @Model.ID;** //here is where I need help 
var link = $("#PackingList"); 
var href = link.attr("href"); 
href = href.substring(0, href.length - 1); 
href = href + id; 
link.attr("href", href); 
} 

@Html.ActionLink("Print Shipping Report", "ShippingPackingList", new { id = 0 }, new { id = "PackingList" }) 
+0

您使用的是MVC3還是4? – danludwig 2012-08-03 21:56:38

+1

@ Model.ID? (或者是VM屬性名稱,而不是* ID *)。 – McGarnagle 2012-08-03 21:56:49

回答

1

最簡單的方法就是把它放在一個隱藏的輸入元素在你的HTML,然後搶在你的JavaScript的價值。

HTML:

@Html.HiddenFor(x => x.ID, new { id = "coolIdForThisHiddenElement" }) 

上Html.HiddenFor文檔:http://msdn.microsoft.com/en-us/library/ee703622.aspx

然後,在JavaScript來獲取值:

var id = $('#coolIdForThisHiddenElement').val(); 

編輯:它看起來像你想得努力在你的JavaScript。您應該能夠將模型的ID包含在您的Html.ActionLink代碼中。你應該可以這樣做:

@Html.ActionLink("Print Shipping Report", "ShippingPackingList", new { id = Model.ID }, new { id = "PackingList" }) 

注意id = Model.ID而不是id = 0?這會將該模型中的ID放入生成的鏈接中。

相關問題