Html.TextBoxFor中的必需值

Lam*_*fif 6 css c# asp.net html-helper asp.net-mvc-4

我需要TextBox像这样把所需的值:

<td>@Html.TextBoxFor(m =>(m.Code), new { @required  = "required"})</td>
Run Code Online (Sandbox Code Playgroud)

有用.但是,如果我将默认值设置为TextBox

<td>@Html.TextBoxFor(m =>(m.Code), new { @Value = @Model.Code, @required  = "required"})</td>
Run Code Online (Sandbox Code Playgroud)

尽管生成了此Html代码,但仍会接受空值

<td><input id="Code" name="Code" required="required" type="text" value="fff       "></td>
Run Code Online (Sandbox Code Playgroud)
  1. 这个问题的根源是什么?
  2. 我该如何解决?

coo*_*shu 12

使用

@Html.ValidationMessageFor(m => m.Code)
Run Code Online (Sandbox Code Playgroud)

用于验证代码属性.代码属性应该像这样定义 -

 [Required]
 public string Code{ get; set; }
Run Code Online (Sandbox Code Playgroud)

并在代码文本框中设置值.你可以像这样在控制器中设置它.

Model.Code="fffff";
Run Code Online (Sandbox Code Playgroud)

并在视图上使用像这样 -

<td>@Html.TextBoxFor(m =>(m.Code), new { @Value = @Model.Code)</td>
 @Html.ValidationMessageFor(m => m.Code)
Run Code Online (Sandbox Code Playgroud)

并且是的,别忘了包含验证Js ie

 <script src="/Scripts/jquery.validate.unobtrusive.js"></script>
    <script src="/Scripts/jquery.validate.unobtrusive.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

试试吧:-


Lam*_*fif 9

我不知道为什么,但是当我删除空间之间=@

<td>@Html.TextBoxFor(m =>(m.Code), new { @Value =@Model.Code, @required  = "required"})</td>
Run Code Online (Sandbox Code Playgroud)

有用