我有一个带有ViewModel的Razor View,我需要从模型中提取ID值,这样我就可以动态创建一个ActionLink。 ID也是用于访问View的参数。这似乎应该很容易,但我找不到如何的例子。
编辑:
我正在使用MVC 3
我希望能够使用模型的ID创建ActionLink。 所以我想做的就是这样:
$(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 :(得分:1)
获取该ID的最简单方法是将其放入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中努力了。您应该能够在Html.ActionLink代码中包含模型的ID。你应该能够做到这一点:
@Html.ActionLink("Print Shipping Report", "ShippingPackingList", new { id = Model.ID }, new { id = "PackingList" })
注意id = Model.ID而不是id = 0?这会将模型中的ID放在生成的链接中。