2015-09-08 18 views
5

Tôi có hai hành động, một cho HttpGet với chữ ký này:Tại sao định tuyến thuộc tính mvc trên hành động HttpGet cũng có hiệu lực HttpPost mà không có thuộc tính định tuyến, đó có phải là lỗi không?

[Route("NewsLetter/SelectEmail/{page?}")] 
[HttpGet] 
public ActionResult SelectEmail(int? page, string priCat, string secCat) 
{ 
... 
} 

Và một cho HttpPost với chữ ký này:

[HttpPost] 
[ValidateAntiForgeryToken] 
public ActionResult SelectEmail(int id) 
{ 
... 
} 

Sau khi thiết lập các tuyến đường nói trên cho HttpGet phương pháp, tôi đã nhận thấy rằng phương pháp khác với HttpPost đã ngừng hoạt động, sau khi tìm hiểu xung quanh tôi đã nhận ra rằng tuyến đường cho HttpGet cũng tự đặt cho HttpPost và nó không hoạt động cho đến khi tôi đặt thuộc tính định tuyến cho nó một cách rõ ràng:

[Route("NewsLetter/SelectEmail/{id}")] 
[HttpPost] 
[ValidateAntiForgeryToken] 
public ActionResult SelectEmail(int id) 
{ 
... 
} 

Tôi muốn biết, có phải là lỗi không ?, nếu không, có cách nào để đặt thuộc tính định tuyến cho số [HttpGet] mà không ảnh hưởng đến [HttpPost] tương ứng không?

Trả lời

Các vấn đề liên quan