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

JQuery post方法总是重定向到c#MVC中的Index()方法,传递的参数不会反映出来,c#,jquery,asp.net-mvc,jquery-post,C#,Jquery,Asp.net Mvc,Jquery Post,当下拉列表中的值更改时,我尝试调用控制器中定义的某个操作方法。我还将更改后的值作为参数传递给action方法。我试图更改操作方法名称只是为了确认,但它总是命中index(),传递的参数总是作为null接收 $('#dropdown').change(function () { var selectedValue = $('#dropdown').val(); var url = "@Url.Action("Index","Controller")" + selectedValue

当下拉列表中的值更改时,我尝试调用控制器中定义的某个操作方法。我还将更改后的值作为参数传递给action方法。我试图更改操作方法名称只是为了确认,但它总是命中index(),传递的参数总是作为null接收

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



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

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

@Url.Action(“Index”,“Controller”)“+”?id=“+selectedValue;工作正常。感谢您的帮助。

发布控制器代码。$.Post(Url,{argumentName:selectedValue});用于空值bit@artm我也尝试了这个方法,但没有解决我的问题。这个?@Url.Action(“Index”,“Controller”)“+”?id=“+selectedValue@artm试过这个,效果很好。。谢谢,谢谢@DavidG。我试过了,但是我还是得到了空值。如果你添加
alert(url),你能发布更多的控制器代码(可能还有路由配置)吗
在post操作之前,URL是什么样子的?谢谢David,在实现@artm更改后,它工作正常
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" }
);
$('#dropdown').change(function () {
    var selectedValue = $('#dropdown').val();
    var url = "@Url.Action("Index","Controller")" + "/" + selectedValue;
    $.post(url);
});