MVC表单帖子问题

时间:2011-03-23 08:09:27

标签: asp.net-mvc

我是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?

    }

1 个答案:

答案 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以获取正确的有线格式。