如何将id添加到@ Html.DisplayFor参数?

时间:2017-11-19 20:45:15

标签: javascript jquery html asp.net-mvc

我正在寻找决定如何向@ Html.DisplayFor添加一个id,这个id我可以绑定jQuery方法。

<dd>
    @Html.DisplayFor(model => model.Price)
</dd>

感谢您的一些建议。

1 个答案:

答案 0 :(得分:2)

DisplayFor辅助方法只是渲染要传递给它的表达式的值。因此,在您的情况下,假设您的Price属性值为235.34,razor呈现的标记将为

<dd>
  235.34
</dd>

如果您只关心读取Price属性的值,则可以考虑将值保留在隐藏的表单元素中。您可以使用HiddenFor辅助方法。

<dd>
    @Html.DisplayFor(model => model.Price)
    @Html.HiddenFor(a=>a.Price)
</dd>

这将呈现以下标记

<dd id="item">
    235.34
<input id="Price" name="Price" type="hidden" value="235.34" />
</dd>

您可以看到现在您有一个标识为Price的输入元素。这意味着你可以在jQuery中读取值,如

var v = $("#Price").val();

另一个选择是将值保留在HTML5数据属性中。

<dd id="price" data-price="@Model.Price">
     @Html.DisplayFor(model => model.Price)
</dd>

你可以像

一样阅读
var v = $("#price").data("price");