在 ASP .Net MVC C# 中,NonActionAttribute 的作用是什么?
当我们希望控制器中存在一个公共方法,但又不想将其视为操作方法时,可以使用 **NonAction** 属性。操作方法是控制器中一个可以 使用 URL 调用 的公共方法。因此,默认情况下,如果控制器中存在任何公共方法,则可以使用 URL 请求调用它。为了限制对控制器中公共方法的访问,可以使用 NonAction 属性。
现在让我们考虑 HomeController 具有两个公共方法 **MyMethod1 和 MyMethod2**。
控制器
示例
using System.Web.Mvc;
namespace DemoMvcApplication.Controllers{
public class HomeController : Controller{
public string MyMethod1(){
return "<h1>My Method 1 Invoked</h1>";
}
public string MyMethod2(){
return "<h1>My Method 2 Invoked</h1>";
}
}
}让我们使用以下 URL 调用 HomeController 中的这两个方法。
https://:59146/Home/MyMethod1
https://:59146/Home/MyMethod2


假设 MyMethod2 用于某些内部目的,我们不希望通过 URL 请求调用它。为此,我们必须使用 NonAction 属性对其进行装饰。
控制器
示例
using System.Web.Mvc;
namespace DemoMvcApplication.Controllers{
public class HomeController : Controller{
public string MyMethod1(){
return "<h1>My Method 1 Invoked</h1>";
}
[NonAction]
public string MyMethod2(){
return "<h1>My Method 2 Invoked</h1>";
}
}
}以下是将 MyMethod2 设置为非操作方法的输出。
输出

广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP