我对MVC很新,我正在努力做一些应该很简单的事情,但我似乎无法得到它。
默认MVC模板为您设置详细信息,编辑,创建操作结果。我试图将这些步骤合二为一。我们可以取消的细节因为编辑基本上是细节。在Edit ActionResult中,我想做这样的事情:
如果没有id或id为0,则字段应为空,以便可以创建新的字段。否则,如果存在id并且记录存在,则填充字段并在信息更改时进行更新。我有处理创建/更新的存储库函数。
答案 0 :(得分:3)
我个人会去RedirectToAction("编辑"),具体取决于id是否有值。这使得视图分离并且更容易保持。
public ActionResult Index(int? Id)
{
if (id.HasValue)
{
RedirectToAction("Edit");
}
// else....
}
答案 1 :(得分:2)
我认为您的方法没有任何问题,并且看到一些项目走的路径相同。除了确保Id
的种子对于现有实体不能为0(这是EF中的默认行为)。
但是,我确保我不会最终得到具有许多开关案例/条件的视图/操作。如果是这样的话,那就是说编辑/创作最好不要分开。