我不知道为什么我ajax呼吁我的Controller作品时,我的参数是所谓的id,当它被称为不工作accountNo或accountId.
$.ajax({
type: "GET",
dataType: "json",
cache: false,
url: config.url.root + "/DeferredAccount/GetDeferredAccountDetailsByAccount/" + accountNo
});
Run Code Online (Sandbox Code Playgroud)
public JsonResult GetDeferredAccountDetailsByAccount(int id)
{
var details = _deferredAccountDetailsService.GetDeferredAccountDetailsByAccount(id);
return Json(details, JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)
在我Controller- 如果参数是int id一切正常.

如果我将Controller参数更改为,让我们说accountNum,我收到500错误,说明我的参数是null.

因此,它实际上只是控制器参数的命名,它决定了我的GET请求是否成功.是因为它是JSON编码的,我没有在我的ajax方法中指定数据模型/格式?
如果答案存在,我道歉,因为我没有遇到过它.
这是因为RouteConfig.cs默认情况下将路径的第三个组件定义为变量id.
您可以通过指定URL来访问该控制器
/DeferredAccount/GetDeferredAccountDetailsByAccount/?accountNum=1
使用称为属性路由的MVC 5提供另一种更精细的路由方式.
编辑RouteConfig.cs
添加routes.MapMvcAttributeRoutes();
编辑控制器
[Route("/whatever/path/i/like/{accountNum:int}")]
public JsonResult GetDeferredAccountDetailsByAccount(int accountNum)
{
[...]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1495 次 |
| 最近记录: |