我有一个Asp.Net mvc网络应用程序,它有一个控制器动作来处理一个以int作为参数的帖子。我在动作中设置了一个断点,它永远不会被击中。这是控制器动作设置:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult AddTestNumber(int number)
{
这是调用动作的jquery:
$.post("/testController/AddTestNumber/852852");
我在没有参数的情况下对它进行了测试,并且它达到了断点。我没有更改任何路由,所以它设置为默认。
这似乎应该是非常简单的修复我忽略了
答案 0 :(得分:1)
要尝试的几件事情:
您的网址不需要包含“控制器”。 即。
$.post("/Test/AddTestNumber/852852");
如果您希望参数位于URL中,而不是在查询字符串中,并且您使用的是默认路由,那么我认为该参数需要命名为“id”。 即。
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult AddTestNumber(int id)
{
否则,您需要通过查询字符串传递它。 即。
$.post("/Test/AddTestNumber?number=852852");
或添加自定义路由规则。
我希望其中一个可以帮助你。
答案 1 :(得分:0)
是的,修复很简单。如果你没有改变路由,而不是int数,请使用int id。 现在路由器会查找“号码”,但在你的网址中你没有号码,只是一个号码。