当我们想要在控制器中使用公共方法但又不想将其视为操作方法时,可以使用 NonAction 属性。操作方法是控制器中的公共方法,可以使用 URL 调用。因此,默认情况下,如果控制器中有任何公共方法,则可以使用 URL 请求来调用它。要限制对控制器中公共方法的访问,可以使用 NonAction 属性。
现在让我们考虑 HomeController 有两个公共方法 MyMethod1 和
MyMethod2.
控制器
示例
using System.Web.Mvc;
namespace DemoMvcApplication.Controllers{
public class HomeController : Controller{
public string MyMethod1(){
return "My Method 1 Invoked";
}
public string MyMethod2(){
return "My Method 2 Invoked";
}
}
}
登录后复制
让我们使用以下 URL 调用 HomeController 中的这两个方法。
http://localhost:59146/Home/MyMethod1
http://localhost:59146/Home/MyMethod2
假设 MyMethod2 用于某些内部目的,我们不希望调用它
使用 URL 请求。为了实现这一点,我们必须用 NonAction 来装饰它
属性。
控制器
示例
using System.Web.Mvc;
namespace DemoMvcApplication.Controllers{
public class HomeController : Controller{
public string MyMethod1(){
return "My Method 1 Invoked";
}
[NonAction]
public string MyMethod2(){
return "My Method 2 Invoked";
}
}
}
登录后复制
下面是使 MyMethod2 非操作的输出。
输出
以上就是NonActionAttribute 在 ASP .Net MVC C# 中的意义是什么?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!