如果当前隐藏了MVC,是否有办法让MVC忽略发布绑定文本框?
@Html.TextBoxFor(x => x.Value, new { style = "display:none;"})
我真的不想用javascript来完成这个,但想知道MVC是否可以开箱即用。
这是一个javascript解决方案: 发布之前清除任何隐藏文本框的ID和名称字段以防止MVC绑定。
有没有更好的非JavaScript方式来到同一个结束游戏?
答案 0 :(得分:3)
禁用它:
@Html.TextBoxFor(x => x.Value, new { style = "display:none;", disabled = "disabled"})
答案 1 :(得分:1)
当然我不知道它的全部需求,但是如果你想从后端带来一些数据,并且需要在html代码上保存这些数据(例如,在前端使用它)并且你不需要再次将它回发给服务器,我会为了避免使用TextBoxFor而持久化,并且坚持使用'数据 - '属性。
<div id="someId" data-my-important-value="@Model.Value"> ... </div>
像这样,你将从你的后端带来你的数据,将确保这不会再发回服务器,并且能够使用javascript,jQuery,angujarJs从前端请求它...
var importantValue = $('#someId').attr('data-my-important-value');
正如我所说,只是等待威胁这个场景。由于@MajoB已经给出了快速而有效的答案。