Computer >> Máy Tính >  >> Lập trình >> C#

Ý nghĩa của NonActionAttribute trong ASP .Net MVC C # là gì?

Không hành động thuộc tính được sử dụng khi chúng ta muốn một phương thức công khai trong bộ điều khiển nhưng không muốn coi nó như một phương thức hành động. Phương thức hành động là một phương thức công khai trong bộ điều khiển có thể được gọi bằng URL. Vì vậy, theo mặc định, nếu chúng ta có bất kỳ phương thức công khai nào trong bộ điều khiển thì nó có thể được gọi bằng yêu cầu URL. Để hạn chế quyền truy cập vào các phương thức công khai trong bộ điều khiển, có thể sử dụng thuộc tính NonAction.

Bây giờ chúng ta hãy xem xét HomeController có hai phương thức công khai MyMethod1 vàMyMethod2 .

Bộ điều khiển

Ví dụ

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>";
      }
   }
}

Hãy để chúng tôi gọi cả hai phương thức trong HomeController bằng cách sử dụng các URL bên dưới.

https:// localhost:59146 / Home / MyMethod1

https:// localhost:59146 / Home / MyMethod2

Ý nghĩa của NonActionAttribute trong ASP .Net MVC C # là gì?

Ý nghĩa của NonActionAttribute trong ASP .Net MVC C # là gì?

Giả sử MyMethod2 là dành cho một số mục đích nội bộ và chúng tôi không muốn nó được gọi bằng yêu cầu URL. Để đạt được điều này, chúng tôi phải trang trí nó bằng NonActionattribute.

Bộ điều khiển

Ví dụ

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>";
      }
   }
}

Dưới đây là kết quả của việc tạo MyMethod2 Non Action.

Đầu ra

Ý nghĩa của NonActionAttribute trong ASP .Net MVC C # là gì?