我有这个值:
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0}")]
public int mCardNumber { get; set; }
在一个视图中,我正在渲染它:
Card Number: @Html.EditorFor(_item => _item.mCardNumber, Model.mCardNumber)<br />
原因是该值绑定到我的模型。但是,如果我不能插入负值,仍然可以进入否定值。将只显示一条错误消息。但我被要求不允许编辑进入否定状态。任何人都可以帮我这么做吗?
答案 0 :(得分:1)
您将需要利用一些JavaScript。将此JavaScript function
添加到您的标记或共享的.js
文件中。
function disallowNegativeNumber(e)
{
var charCode = (e.which) ? e.which : event.keyCode
if (charCode == 45) {
return false;
}
return true;
}
然后调用onkeypress="return disallowNegativeNumber(event)"
。您可以通过htmlAttributes
方法类型上的TextBoxFor
参数添加该参数。那些比EditorFor
更具体的。你要构建一个像这样的对象:
new { onkeypress = "return disallowNegativeNumber(event)" }
答案 1 :(得分:0)
好吧,我确实不得不废弃编辑器。经过多次观察后,我最终添加了this plugin by TexoTela。
所以这是我的页面呈现方式:
@Html.TextBoxFor(_item => _item.mCardNumber, new { @class = "positive-integer" })
它有效!