Javascript 将js代码中的值赋值给mvc razor';s隐藏字段
如果我已经在razor视图中定义了隐藏字段Javascript 将js代码中的值赋值给mvc razor';s隐藏字段,javascript,c#,jquery,.net,asp.net-mvc,Javascript,C#,Jquery,.net,Asp.net Mvc,如果我已经在razor视图中定义了隐藏字段 @Html.HiddenFor(m => m.MyHiddenId) 我如何从内联js代码填充它 var someNr = 100; 如何将此someNr值分配给m.MyHiddenId属性 将显式的id属性添加到@Html.HiddenFor @Html.HiddenFor(m => m.MyHiddenId, new { id = "hat" }) 然后使用jQuery: var someNr = 100; $('#hat').
@Html.HiddenFor(m => m.MyHiddenId)
我如何从内联js代码填充它
var someNr = 100;
如何将此someNr值分配给m.MyHiddenId属性
将显式的
id
属性添加到@Html.HiddenFor
@Html.HiddenFor(m => m.MyHiddenId, new { id = "hat" })
然后使用jQuery:
var someNr = 100;
$('#hat').val(somNr);
document.getElementById("MyHiddenId").value = somNr;
对于那些没有jQuery的人
document.getElementById("hat").value = somNr;
根据下面的回答,如果没有显式id,HiddenFor
将属性id设置为MyHiddenId
。因此,这也会起作用:
var someNr = 100;
$('#MyHiddenId').val(someNr);
或者不使用jQuery:
var someNr = 100;
$('#hat').val(somNr);
document.getElementById("MyHiddenId").value = somNr;
您可以使用:
$(function(){
var someNr = 100;
$('#MyHiddenId').val(someNr);
});
注意:
- 最好在如上所述准备好的文档中执行赋值。这样,将上面的代码放在哪里并不重要,在引用jquery之后就足够了;而如果使用
$('#MyHiddenId').val(someNr)代码>直接,它应该在html标记创建之后的某个地方,否则它看不到隐藏的内容。
此外,如果该值依赖于任何其他值,或者如果该值依赖于ajax请求,则建议在ready中设置该值 - 因为您使用的是helper,所以hidden具有id属性=
,您不需要手动设置它MyHiddenId
$("#MyHiddenId").val(someNr);
首先,您必须
为控件分配ID
,这样您就可以在编译时知道控件ID
@Html.HiddenFor(m=>m.MyHiddenId,new{id=“MyHiddenId”})
var-someNr=100
$('#MyHiddenId).val(somNr)
var-someNr=100
document.getElementById('MyHiddenId')。value=somNr
$('MyHiddenId').val(someNr)代码>为什么不使用“#MyHiddenId”?为什么要将id
设置为与其已有值完全相同的值@Html.HiddenFor(m=>m.MyHiddenId)
使用id=“MyHiddenId”
生成一个输入,这只是一个示例,原因:-现有id默认名称来自类/模型,要隐藏它或获取一些可理解的id,我们可以这样做,否则我们可以使用模型属性名称作为id:)。