猿教程 Logo

ActionVerbs:

阿里云服务器,每月低至7.8元,项目演示即建站必备,比腾讯云更便宜,并且不需学生认证,从此链接购买有效:去购买

在本节中,您将了解选择属性ActionVerbs。

当您想要控制基于Http请求方法的操作方法的选择时,将使用ActionVerbs选择器。 例如,您可以定义两个不同的具有相同名称的操作方法,但一个操作方法响应HTTP Get请求,另一个操作方法响应HTTP Post请求。

MVC框架支持不同的ActionVerbs,如HttpGet,HttpPost,HttpPut,HttpDelete,HttpOptions和HttpPatch。 您可以将这些属性应用于action方法,以指示action方法支持的Http请求的种类。 如果你不应用任何属性,那么它默认认为它是一个GET请求。

下图说明了HttpGET和HttpPOST的Action动词。


下表列出了http方法的用法:

Http方法用法
GET从服务器检索信息。 参数将附加在查询字符串中。
POST创建新资源。
PUT更新现有资源。
HEAD与GET相同,但是服务器不返回消息体。
OPTIONSOPTIONS方法表示对Web服务器支持的通信选项信息的请求。
DELETE删除现有资源。
PATCH完全或部分更新资源。

访问W3.org有关Http方法的更多信息。

以下示例显示了支持不同ActionVerbs的不同操作方法:

相关实例:

public class StudentController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public ActionResult PostAction()
    {
        return View("Index");
    }


    [HttpPut]
    public ActionResult PutAction()
    {
        return View("Index");
    }

    [HttpDelete]
    public ActionResult DeleteAction()
    {
        return View("Index");
    }

    [HttpHead]
    public ActionResult HeadAction()
    {
        return View("Index");
    }
       
    [HttpOptions]
    public ActionResult OptionsAction()
    {
        return View("Index");
    }
       
    [HttpPatch]
    public ActionResult PatchAction()
    {
        return View("Index");
    }
}

您还可以使用AcceptVerbs属性应用多个http动词。 GetAndPostAction方法在以下示例中支持GET和POST ActionVerbs:

相关实例:

[AcceptVerbs(HttpVerbs.Post | HttpVerbs.Get)]
public ActionResult GetAndPostAction()
{
    return RedirectToAction("Index");
}
要点
  1. ActionVerbs是另一个操作选择器,它基于请求方法(例如POST,GET,PUT等)选择操作方法。

  2. 多个操作方法可以基于不同的操作动词具有相同的名称。 方法重载规则适用。 

  3. 可以使用AcceptVerbs属性将多个动作动词应用于单个动作方法。

在下一节中了解模型。

阿里云服务器,每月低至7.8元,项目演示即建站必备,比腾讯云更便宜,并且不需学生认证,从此链接购买有效: 去购买


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/mvc/mvc-ActionVerbs.html