asp.net mvc动作选择器

本文概述

  • 动作名称
  • 行为动词
动作选择器是应用于控制器动作方法的属性。用于根据请求选择正确的操作方法进行调用。 MVC提供以下操作选择器属性:
  1. 动作名称
  2. 行为动词
动作名称这个属性允许我们为动作方法指定一个不同的名称。当我们想用其他名称调用动作时,这很有用。

在这里,我们使用ActionName属性为索引操作方法应用不同的名称。控制器代码如下所示:
// MusicStoreController.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace MvcApplicationDemo.Controllers { public class MusicStoreController : Controller { [ActionName("store")] public ActionResult Index() { return View(); } } }

现在,我们需要在MusicStore文件夹中创建一个与ActionName相同的视图。因此,我们创建了一个具有以下代码的store.cshtml文件。
// store.cshtml
@{ ViewBag.Title = "store"; } < h2>Hello, This is Music store.< /h2>

输出:
当以不同的名称“ store”调用动作时,将产生以下输出。
asp.net mvc动作选择器

文章图片
行为动词ASP.NET MVC提供适用于操作方法的操作动词,并适用于HttpRequest方法。有各种ActionVerb,并在下面列出。
  • HttpPost
  • HttpGet
  • HttpPut
  • HttpDelete
  • HttpOptions
  • HttpPatch
ActionVerbs是控制器处理的http请求的名称。我们可以使用它来选择动作方法。

在以下示例中,我们尝试通过get请求访问索引操作,该操作仅可用于httpPost请求。控制器代码如下所示:
// MusicStoreController.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace MvcApplicationDemo.Controllers { public class MusicStoreController : Controller { [HttpGet] public ActionResult Index() { return View(); } [HttpPost] public ActionResult Welcome() { return View(); } } }

以下是MusicStoreController的索引文件。
// index.cshtml
< div class="jumbotron"> < h2>Welcome to the music store.< /h2> < /div>

输出:
调用index动作时,它将产生以下输出。
asp.net mvc动作选择器

文章图片
【asp.net mvc动作选择器】当我们对存储操作方法发出get请求时,它将生成错误消息。
asp.net mvc动作选择器

文章图片

    推荐阅读