我是MVC的新手,我的FORM Post无效。如果我将Dinner对象传递给VIEW,有人能告诉我吗?并且做HTTP POST,MVC应该给Person对象吗? 例如 public ActionResult Edit(int id){
Dinner dinner = dinnerRepository.GetDinner(id);
if (!dinner.IsHostedBy(User.Identity.Name))
return View("InvalidOwner");
return View(dinner);
}
public ActionResult Edit(晚餐晚餐){
//should this dinner class be populated?
}
答案 0 :(得分:0)
如果请求中存在值,则默认模型绑定器会自动填充操作参数。例如,如果您的表单包含以下字段:
<input type="text" name="Foo" />
<input type="text" name="Bar" />
并且您的Dinner对象包含这些属性:
public class Dinner
{
public string Foo { get; set; }
public string Bar { get; set; }
}
然后当您将表单提交给以下操作时:
[HttpPost]
public ActionResult Edit(Dinner dinner)
{
// the dinner.Foo and dinner.Bar properties will be
// automatically bound from the request
...
}
对于更高级的绑定方案(例如列表和词典),您可以检查following blog post以获取正确的有线格式。