将js代码中的值赋给mvc razor的隐藏字段

use*_*862 11 .net javascript c# asp.net-mvc jquery

如果我在内部剃刀视图已定义隐藏字段之类的

@Html.HiddenFor(m => m.MyHiddenId)
Run Code Online (Sandbox Code Playgroud)

如何从内联js代码填充这个

var someNr = 100;
Run Code Online (Sandbox Code Playgroud)

如何将这个someNr值赋给m.MyHiddenId属性?

Per*_*t28 22

添加显式id属性@Html.HiddenFor

@Html.HiddenFor(m => m.MyHiddenId, new { id = "hat" }) 
Run Code Online (Sandbox Code Playgroud)

然后使用jQuery:

var someNr = 100;
$('#hat').val(somNr); 
Run Code Online (Sandbox Code Playgroud)

对于那些没有jQuery的人

document.getElementById("hat").value = somNr;
Run Code Online (Sandbox Code Playgroud)

根据下面的答案,没有显式id,HiddenFor将属性id设置为MyHiddenId.所以,这也会起作用:

var someNr = 100;
$('#MyHiddenId').val(someNr);
Run Code Online (Sandbox Code Playgroud)

或者没有jQuery:

document.getElementById("MyHiddenId").value = somNr;
Run Code Online (Sandbox Code Playgroud)

  • 为什么不使用'#MyHiddenId'? (2认同)