2016-07-26 67 views
0

我的Asp.net Mvc 3项目有一个问题。我正在使用数据优先方法 和强类型视图。我从模型中隐藏一个值,在Asp.net Mvc隐藏字段值不能访问

@Html.TextBoxFor(model => model.myfield1, new { style=" display:none" }) 

当我在java脚本上访问此字段值时,我得到空值或空白。

var abc= s("#myfield1").val(); 
alert(abc) 

我会尝试像

@Html.DisplayFor(model => model.myfield1, new{}) 

值将显示在视图。 我也尝试使用隐藏字段,但不工作

有任何问题或解决方案。我不会在视图中显示该字段,但为了进一步的目的需要此值。

+0

我假设它的'$(“#myfield1”).val();'(不's')。如果它返回'null',那么因为你的'myfield1'属性是'null',请检查你生成的html - 它会显示'value =“”'。但是如果'DisplayFor()'显示一个值,那么它就是一个'ModelState'问题,并且你需要在你的控制器方法中显示与这个视图相关的代码 –

回答

1

对于显示字段:无,看起来val()不起作用。

我绕过这种行为使用attr():

$('input').attr('value',myNewValue); 
+0

当然'.val()'起作用了(试一下!)。如果'.val()'返回null,那么'.attr('value')' - 但你的代码是设置的值,没有得到它 –

0

因为强类型的HTML辅助不能访问时隐时现,您可以使用下面这个帮手,而不是你用的是什么现在 @ Html.HiddenFor( m => m.myfield1) 这个帮助器用于在强类型视图中存储隐藏值

+0

@ Naveen Ganeshe我尝试了你的建议,但它不工作 – Ajay