为什么在HttpGet动作上使用MVC属性路由也会影响没有路由属性的HttpPost,这是一个错误吗?

5

我有两个操作,一个是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]

1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接