JQuery-post方法总是重定向到c#MVC中的Index()方法,并且传递的参数不会反映出来
本文关键字:方法 参数 重定向 c#MVC 中的 JQuery-post Index | 更新日期: 2023-09-27 18:24:15
当下拉列表中的值发生更改时,我正试图调用控制器中定义的一个操作方法。我还将更改后的值作为参数传递给action方法。我尝试更改操作方法名称只是为了确认,但它总是命中index(),并且传递的参数总是被接收为null。
$('#dropdown').change(function () {
var selectedValue = $('#dropdown').val();
var url = "@Url.Action("Index","Controller")" + selectedValue;
$.post(url);
});
public ActionResult Index(string id)
{
//some code
}
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
"Home",
"Home",
new { controller = "Home", action = "Index" }
);
您创建的URL中似乎缺少一个/
:
$('#dropdown').change(function () {
var selectedValue = $('#dropdown').val();
var url = "@Url.Action("Index","Controller")" + "/" + selectedValue;
$.post(url);
});
@Url.Action("Index","Controller")"+"?id="+selectedValue;成功了。感谢您的帮助。