我有一个模型,里面有一些属性/类。现在我想验证一下:
<% = Html.TextBoxFor(p=>p.Ideas.Title, new { @class = "width_percent_80" }) %>
<% = Html.ValidationMessageFor(model => model.Ideas.Title) %>
但它将textbox命名为Ideas.Title(而不是title)。为什么呢?
答案 0 :(得分:0)
但它将textbox命名为Ideas.Title(而不是title)。为什么呢?
这样默认的模型绑定器就能成功绑定到:
[HttpPost]
public ActionResult Foo(MyViewModel model)
{
if (!ModelState.IsValid)
{
// the model was not valid => redisplay the view
// so that the user can fix his errors
return View(model);
}
// at this stage validation passed => we can access individual properties
// of the view model such as model.Ideas.Title here
...
}
答案 1 :(得分:0)
嵌套类将为您提供嵌套字段名称。但是您可以在实体.cs文件中添加注释以覆盖它。
例如: 在您的Ideas.cs文件中,
[Column(name: "title")] //<- add this
public string Title{ get; set; }
当然,您需要使用DataAnnotation命名空间。
using System.ComponentModel.DataAnnotations;