0

我有一个带有 ViewModel 的 Razor 视图,我需要从模型中提取 ID 值,以便动态创建一个 ActionLink。ID 也是用于获取视图的参数。这似乎应该很容易,但我找不到一个例子。

编辑:

我正在使用 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" })
4

1 回答 1

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 放在生成的链接中。

于 2012-08-03T22:26:15.133 回答