我正在寻找决定如何向@ Html.DisplayFor添加一个id,这个id我可以绑定jQuery方法。
<dd>
@Html.DisplayFor(model => model.Price)
</dd>
感谢您的一些建议。
答案 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");