我正在使用javascript函数,该函数应在获取某些数据后将用户重定向到新页面。
我的示例说明了这个想法:
example(True)
在我的控制器中,我具有以下方法:
var userId = getUserId(e);
var url = baseUrl + "/EditUserRoles/" + userId;
window.location.href = url;
如果在方法中放置一个断点,则会执行该断点,但是无论javascript上的先前值如何,userId始终为0
我在这里做什么错了?
答案 0 :(得分:1)
这会发生,因为您的默认路由正在等待ID而不是userId
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
3个选项,仅选择一个:
1-在MapRoute中将ID更改为userId(我不推荐这样做)
2-在javascript中添加userId网址参数
var url = baseUrl + "/EditUserRoles/?userId=" + userId;
3-在控制器中将参数名称更改为id
public IActionResult EditUserRoles(int id)