2012-08-03 91 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放入生成的链接中。

相关问题