我有两个操作,一个是HttpGet,签名如下:
[Route("NewsLetter/SelectEmail/{page?}")]
[HttpGet]
public ActionResult SelectEmail(int? page, string priCat, string secCat)
{
...
}
以下是HttpPost的签名示例:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult SelectEmail(int id)
{
...
}
在为HttpGet
方法设置了上述路由之后,我注意到另一个使用HttpPost
的方法停止工作了,经过一番探索,我意识到HttpGet
的路由也同时适用于HttpPost
,直到我明确为其设置路由属性才正常工作:
[Route("NewsLetter/SelectEmail/{id}")]
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult SelectEmail(int id)
{
...
}
我想知道这是否是一个 bug?如果不是,有没有什么方法可以为 [HttpGet]
设置路由属性而不影响相应的 [HttpPost]
?