我有一个 viewModel,它有一个名为 COESNo. 的字段。
当我尝试像这样在视图中编写它时
@Html.HiddenFor(m=>m.COESNo)
然后尝试稍后使用 Jquery $("#COESNo).val() 访问它,它说它是空的
但如果我执行以下操作
<input type="hidden" id="COESNo" value="@Model.COESNo" />
我可以从 Jquery 中获取值。为什么在使用 hiddenfor 时将值设置为空?
谢谢
我有一个 viewModel,它有一个名为 COESNo. 的字段。
当我尝试像这样在视图中编写它时
@Html.HiddenFor(m=>m.COESNo)
然后尝试稍后使用 Jquery $("#COESNo).val() 访问它,它说它是空的
但如果我执行以下操作
<input type="hidden" id="COESNo" value="@Model.COESNo" />
我可以从 Jquery 中获取值。为什么在使用 hiddenfor 时将值设置为空?
谢谢
检查页面的来源,特别是@Html.HiddenFor(m=>m.COESNo)生成的隐藏字段的id属性。如果这条线在局部视图内部(即局部模型是主模型的子集),或者在循环内部,则 id 属性的值将具有前缀。然后你需要在你的 jQuery 选择器中考虑这个前缀。
好的,所以终于解决了问题所在。该请求是一个 Get 请求,并且有一个名为“COESNo”的查询字符串值。这似乎让 Hiddenfor 感到困惑。我将变量名称更改为 COESValue,它很有效。它是否试图在剃刀视图中建模绑定?