我正在编写一个实现 ASP.NET Web 应用程序,当我调用特定的 url 时,我想根据请求是 GET 还是 POST 调用不同的操作方法。
我尝试了两种不同的方法 - 首先我从一个具有以下操作方法的控制器开始:
<HttpGet>
Public Function Index() as ActionResult
...
End Function
<HttpPost>
Public Function Index() as ActionResult
...
End Function
...然后注册一个将 .action 设置为 URL 的“索引”的路由。这不会编译,因为这两个函数具有相同的签名。
接下来,我尝试将 Post 例程的名称更改为“Subscribe”,但这当然需要我为路由表提供两个不同的路由(以便指定新的操作方法名称)。如果我这样做,我会发现第二个被第一个抵消了。
我现在正在考虑回到我最初的想法,但为其提供一个虚拟参数,并将其指定为 UrlParameter.Optional。通过在 post 例程中将其作为参数,这将创建一个新的方法签名,我希望这会没问题。
不过,它闻起来有点脏 - 所以我想知道其他人会怎么做?
马丁。
附言。我现在尝试了肮脏的黑客,它确实有效。不过还是有兴趣听听别人的意见。