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" }
);

JQuery-post方法总是重定向到c#MVC中的Index()方法,并且传递的参数不会反映出来

您创建的URL中似乎缺少一个/

$('#dropdown').change(function () {
    var selectedValue = $('#dropdown').val();
    var url = "@Url.Action("Index","Controller")" + "/" + selectedValue;
    $.post(url);
});

@Url.Action("Index","Controller")"+"?id="+selectedValue;成功了。感谢您的帮助。