Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将js代码中的值赋值给mvc razor';s隐藏字段_Javascript_C#_Jquery_.net_Asp.net Mvc - Fatal编程技术网

Javascript 将js代码中的值赋值给mvc razor';s隐藏字段

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').

如果我已经在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').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
    ,您不需要手动设置它

MVC将给该字段一个“MyHiddenId”id

因此,对于Jquery,可以如下设置:

$("#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:)。