视频演示:
http://u.115.com/file/e6r505ey
控制器中的方法并不一定都是操作方法。
要使控制器中的方法称为操作方法,则必须使其为公共方法,并且没有为其添加NonActionAttribute特性。
私有方法不是操作方法,静态方法也不是操作方法。
如下面的两个方法,均不是控制器的操作方法。
private ActionResult About()
{
return View();
}
public static string StaticMethod()
{
return "Welcome you to the ASP.NET MVC!";
}
如果你试图去访问这些方法的时候,通常会引发如下的错误信息:
也并非所有的公共方法都是操作方法,
如果为公共方法添加了NonActionAttribute特性,则这个方法也不是操作方法。
通过添加NonActionAttribute特性,可以使得控制器中的方法既是公开的,却又不是一个操作方法。
比如下面的方法就不是一个操作方法:
[NonAction]
public ActionResult HelloWorld()
{
this.ViewData["Message"] = "Hello World!";
return View();
}
只要将上面方法的NonActionAttribute特性去掉,它将立即成为一个操作方法。
当我们试图访问HelloWorld方法的时候,仍然会引发前面的那个无法找到资源的服务错误。
详细内容请参看演示视频。