【发布时间】:2012-07-24 23:51:01
【问题描述】:
我有一个非常大的(77 个动作)控制器,我用它来制作一个具有类似向导功能的网站。该站点就像一个“工作应用程序管理器”,具有多个组件,例如管理组件和最终用户组件。我正在使用的组件是用户实际填写工作申请的部分。事物与其他组件的结构方式,将所有作业应用程序的内容放在同一个控制器中是最有意义的。所有这些操作都在不同的模型上执行类似的操作,如下所示:
public class ExampleController : Controller
{
public ActionResult Action1()
{
Guid appId = new Guid(Session["AppId"].ToString());
... // logic to pull up correct model
return View(model)
}
[HttpPost]
public ActionResult Action1(FormCollection formValues)
{
Guid appId = new Guid(Session["AppId"].ToString());
... // logic to update the model
return RedirectToAction("Action2");
}
public ActionResult Action2()
{
Guid appId = new Guid(Session["AppId"].ToString());
... // logic to pull up the correct model
return View(model)
}
... // on and on and on for 74 more actions
}
有什么方法可以减少每一个动作中的一些持续冗余?这是我的想法:
- 创建一个成员变量 Guid 来存储 appId,然后重写 OnActionExecuting 来填充这个变量。这是个好主意吗?
- 实施某种分页以减少操作数量。有关如何做到这一点的任何建议?
【问题讨论】:
标签: c# asp.net-mvc