在 Razor 视图中根据需要创建字段

Sha*_*run 3 asp.net-mvc jquery-validate razor asp.net-mvc-3

我想在剃刀视图中根据需要创建一个文本框字段。我无法使用验证属性,[Required]因为字段名称是动态生成的。我检查了这个答案,它将data-val-required字段设置为true使用 javascript。有没有其他方法可以做到这一点,因为在运行项目之前我不会知道字段 id?

编辑:

我尝试了下面的代码,现在它可以工作了,只是表单提交时不显示验证消息。

@for (int i = 0; i < Model.Controls.Length; i++)
{
            @Html.TextBoxFor(x => x.Controls[i].Value, new { id = obj.VitalName,  data_val_required = "true" })
            @Html.ValidationMessageFor(x => x.Controls[i].Value, "Please fill in the details.")
        </td>
    </tr>
}
Run Code Online (Sandbox Code Playgroud)

Dum*_*ani 5

@required = true在 html 属性中使用而不是data_val_required = "true"

@Html.TextBoxFor(x => x.Controls[i].Value, new { id = obj.VitalName,  @required = true })
Run Code Online (Sandbox Code Playgroud)