Asp.net mvc ASP.NET MVC:使用编辑操作时如何获取实际对象?
我刚刚开始使用asp.net mvc,我有一个非常基本的问题: 如果我有一个显示有关Asp.net mvc ASP.NET MVC:使用编辑操作时如何获取实际对象?,asp.net-mvc,Asp.net Mvc,我刚刚开始使用asp.net mvc,我有一个非常基本的问题: 如果我有一个显示有关System.Web.Mvc.ViewPage信息的视图,那么在将表单值传递给我的FooController上的编辑操作时,如何获取实际对象? 默认情况下,我得到了编辑操作的以下实现: public ActionResult Edit(int id, FormCollection collection) 有没有办法让我再承受一次这样的超负荷 public ActionResult Edit(int id, Fo
System.Web.Mvc.ViewPage
信息的视图,那么在将表单值传递给我的FooController上的编辑操作时,如何获取实际对象?
默认情况下,我得到了编辑操作的以下实现:
public ActionResult Edit(int id, FormCollection collection)
有没有办法让我再承受一次这样的超负荷
public ActionResult Edit(int id, Foo myObject)
谢谢
编辑:
抱歉,伙计们,再多了解一点背景知识,这样你们就明白我在想什么了……因为我有自己的框架来重播我对实体所做的更改,所以我不需要重新查询实体并使用UpdateModel()方法。我最后做的就是有这样一种方法:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(Foo myObject)
{
}
我不知道,但那很好用。多亏了让我读到这篇文章的答案:你可能会写一些疯狂的类型转换器,但是有一些帮助方法可以将FormCollection中的值映射到你的Foo对象上
编辑:我认为它是作为一个扩展方法实现的,称为UpdateFrom(..)实现编辑方法的最简单方法是使用UpdateModel方法,该方法已经包含在控制器基类中,如下所示:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(int id, FormCollection collection)
{
LinqEntity entity = MyRepository.GetEntity(id);
UpdateModel(entity);
//validate and save your entity here
}
编辑:我也刚刚开始学习ASP.NETMVC,发现非常有用。它展示了如何实现一个简单的MVC网站(你可以在nerddinner.com上看到),并涵盖了许多普通的主题,如上面的主题 相关问题:这可能会满足您的需要。如果您需要了解如何正确操作,请转到并下载源代码。这个网站是由Scott Gu,Phil Haack和其他人开发的,展示如何做MVC