什么是典型的ASP.NET MVC - 控制器操作名称约定?

时间:2010-10-19 13:09:43

标签: asp.net-mvc controller action

我很难为我的行为选择合适的名字。我想区分返回视图的操作:

  1. 创建
  2. 修改
  3. 编辑 - 创建
  4. 这是我到目前为止所做的:

    Create --> Show the Empty Form for Create  
    Add    --> Receives data from Create and Save New Entity  
    Edit   --> Shows Existing Entity in a form for editing  
    Update --> Saves the changes on an existing Entity  
    ???    --> Shows the form for either editing or creating depending on the 
               situation  
    Save   --> Either saves or updates the entity depending on whether the entity 
               already exists or not.  
    

    那么,显示Create/Edit视图的操作的适当名称是什么,该视图会将其数据发送到Save

    我考虑过CreateEdit,因为它清晰而具体,但我不确定。有什么建议吗?

1 个答案:

答案 0 :(得分:4)

我通常使用Create()添加新实体,使用Edit()进行编辑。

我超负荷GET& POST方法并向接收数据的方法添加[HttpPost]属性,例如:

public ActionResult Create()
{
    // this one renders the input form
    ...
    return View();
}

[HttpPost]
public ActionResult Create( MyViewModel model )
{
    // this one accepts the form post
    if ( ModelState.IsValid )
    {
       ...
       return RedirectToAction( ... );
    }
    return View( model );
}

此约定使您可以轻松找到相关方法。