如何通过ASP .NET MVC表单传递对象实例

时间:2014-05-28 19:03:07

标签: c# asp.net-mvc

假设我们的班级是Dog

class Dog
{
    public int Age { get; set; };
    public string Name { get; set; };
}

控制器有这个动作:

public ActionResult Action(Dog dog)
{
    ...
}

视图是这样的:

using (Html.BeginForm("Action"))
{
    Dog dog = MySession.GetDogFromSession();
    @Html.EditorFor(d => dog.Age);
    @Html.EditorFor(d => dog.Name);
    <input type="submit" value="Action" class="btn btn-default" />
}

问题是,当调用操作时,参数中的Dog实例在发布表单时没有指定的年龄和名称。

如何通过此表单发送Dog实例?

更新

此处编写的视图是局部视图,因此模型已在其他地方定义。

1 个答案:

答案 0 :(得分:2)

@ Html.EditorFor使用View的模型。在您的视图顶部放置此

@model Dog

然后编辑器是

@Html.EditorFor(model => model.Age);