2011-03-15 72 views
0

我有一个名为“SampleProject”的ASP.NET MVC3解决方案。我在解决方案中有4个项目。在不同的MVC项目层编辑模型

解决方案的项目名称是

SampleProject.Data(持有实体类,DAL类和过滤器类)

SampleProject.Service(类似BLL标准ERP)

SampleProject.Tests(测试项目)

SampleProject.Web(持有控制器和视图)

我从我的控制器调用服务类。服务类正在调用Data类,数据类正在执行数据库操作。

我已经完成了创建,列表和细节部分。现在我陷入了编辑部分。没有任何例子(NerdDinner,MVCMusicStore等)使用我的架构。在提供的示例(NerdDinner,MVCMusicStore等或ASP.NET网站教程)中,他们只是使用内置的UpdateModel方法,我不想使用。我想从我的视图中手动获取模型对象,并将其发送到我的数据层进行更新。

我的问题是,如何通过不同的项目层更新模型?

+0

也许你可以举一个例子... – Rob 2011-03-15 09:08:03

回答

0

我解决了这个问题。这里是代码。仅供参考,CResult是一个包含IsSuccess(布尔),消息(字符串)属性的类。

CResult oCResult; 
    [HttpPost] 
    public ActionResult Edit(Restaurant model) 
    { 

     try 
     { 
      oCResult = restaurantService.Update(model); 
      if (oCResult.IsSuccess) 
      { 
       return RedirectToAction("Index"); 
      } 
      return View("Error"); 
     } 
     catch 
     { 
      return View(); 
     } 
    } 

视图发动机准备对象(在我的情况下,对象的餐馆类型)它继承用新值,并发送回控制器。这是我的理解。