我有一个Model,它是一个业务层类,我通过控制器以下列方式将它传递给视图:
public ActionResult Edit(int id)
{
var MyModel = MyDatabaseInstance.Listings.GetByID(id);
return View(MyModel);
}
在更新控件中,我有以下内容:
[HttpPost]
public ActionResult Edit(int id, FormCollection collection)
{
try
{
// TODO: Add update logic here
return RedirectToAction("Index");
}
catch
{
return View();
}
}
我真正想要的是能够取回我在初始绑定期间使用的模型对象。那可能吗?如果我改变编辑的参数:
public ActionResult Edit(Listing MyModel)
它抱怨有#34;没有为此对象定义无参数构造函数。"我的模型不能有无参数构造函数。
答案 0 :(得分:2)
我建议您使用ViewModel,而不是直接绑定到数据库中的实体。
使用ViewModel具有以下优点(并非详尽无遗)。