Html.TextBoxFor 中的必需值
Posted
技术标签:
【中文标题】Html.TextBoxFor 中的必需值【英文标题】:Required value in Html.TextBoxFor 【发布时间】:2014-02-06 09:24:24 【问题描述】:我需要像这样输入TextBox
的值:
<td>@html.TextBoxFor(m =>(m.Code), new @required = "required")</td>
它有效。但是如果我将默认值设置为TextBox
<td>@Html.TextBoxFor(m =>(m.Code), new @Value = @Model.Code, @required = "required")</td>
尽管生成了此 Html 代码,但仍接受空值
<td><input id="Code" name="Code" required="required" type="text" value="fff "></td>
-
这个问题的根源是什么?
我该如何解决?
【问题讨论】:
【参考方案1】:你不需要括号
@Html.TextBoxFor(m => m.Code, new @class = "txtCode" )
如果您在控制器端设置代码,则值将放在文本框中
【讨论】:
【参考方案2】:使用
@Html.ValidationMessageFor(m => m.Code)
用于验证代码属性。代码属性应该像这样定义-
[Required]
public string Code get; set;
用于在代码文本框中设置值。您可以像这样在控制器中设置它。
Model.Code="fffff";
并在视图上像这样使用-
<td>@Html.TextBoxFor(m =>(m.Code), new @Value = @Model.Code)</td>
@Html.ValidationMessageFor(m => m.Code)
是的,不要忘记包含验证Js,即
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js"></script>
试试看:-
【讨论】:
是的,你的验证应该在你的模型中,就像在这篇文章中一样。如果你在视图上这样做会变得一团糟,尤其是当你想要自定义错误消息时。 如何动态而不是提交?【参考方案3】:我不知道为什么,但是当我删除 =
和 @
之间的空格时
<td>@Html.TextBoxFor(m =>(m.Code), new @Value =@Model.Code, @required = "required")</td>
有效
【讨论】:
以上是关于Html.TextBoxFor 中的必需值的主要内容,如果未能解决你的问题,请参考以下文章
使用 HTML.TextBoxFor 循环遍历模型中的项目 [重复]
如何使用输入类型 = 日期的 Html.TextBoxFor? [复制]