2010-08-23 111 views
1

我有一个Asp.Net mvc网络应用程序,它有一个控制器动作来处理一个int作为参数的职位。我已经在动作中设置了一个断点,它永远不会被击中。这里是控制器动作设置:Asp.Net MVC后控制器未被命中

[AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult AddTestNumber(int number) 
    { 

这里是调用动作的jQuery:

$.post("/testController/AddTestNumber/852852"); 

我不带参数的测试,它命中断点。我没有改变任何路由,所以这就设置为默认。

这似乎应该是我俯瞰

回答

1

几件事情来尝试很简单的解决方法:

您的网址并不需要包含“控制器”。 即

$.post("/Test/AddTestNumber/852852"); 

如果你想在参数是在URL,而不是在查询字符串,并且使用的是默认的路由,那么相信参数需要名为“身份证”。 即

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult AddTestNumber(int id) 
{ 

否则,您需要通过查询字符串传递它。 即

$.post("/Test/AddTestNumber?number=852852"); 

或添加自定义路由规则。

我希望其中的一位能帮助你。

0

是的修复很容易。如果你没有改变路由,而不是int数,使用int id。 现在路由器寻找一个'号码',但在你的网址你没有一个号码,只是一个ID。