Asp.Net MVC后控制器未被命中
问题描述:
我有一个Asp.Net mvc网络应用程序,它有一个控制器动作来处理一个int作为参数的职位。我已经在动作中设置了一个断点,它永远不会被击中。这里是控制器动作设置:Asp.Net MVC后控制器未被命中
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult AddTestNumber(int number)
{
这里是调用动作的jQuery:
$.post("/testController/AddTestNumber/852852");
我不带参数的测试,它命中断点。我没有改变任何路由,所以这就设置为默认。
这似乎应该是我俯瞰
答
几件事情来尝试很简单的解决方法:
您的网址并不需要包含“控制器”。 即
$.post("/Test/AddTestNumber/852852");
如果你想在参数是在URL,而不是在查询字符串,并且使用的是默认的路由,那么相信参数需要名为“身份证”。 即
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult AddTestNumber(int id)
{
否则,您需要通过查询字符串传递它。 即
$.post("/Test/AddTestNumber?number=852852");
或添加自定义路由规则。
我希望其中的一位能帮助你。
答
是的修复很容易。如果你没有改变路由,而不是int数,使用int id。 现在路由器寻找一个'号码',但在你的网址你没有一个号码,只是一个ID。