无法通过ajax向控制器方法发送字符串

无法通过ajax向控制器方法发送字符串,ajax,asp.net-core,Ajax,Asp.net Core,我正在实现asp.net core 3.1。我想发送一个“年”值作为方法控制器的输入参数。当我调试我的项目时,我可以看到“year”在ajax调用中有一个值,但controller方法中的year参数为null。如果有人能建议我解决这个问题,我将不胜感激。 以下是razor视图中的相关代码: $('#exampleModal').modal('@ViewBag.ModalState'); $('#exampleModal').on('show.bs.modal',

我正在实现asp.net core 3.1。我想发送一个“年”值作为方法控制器的输入参数。当我调试我的项目时,我可以看到“year”在ajax调用中有一个值,但controller方法中的year参数为null。如果有人能建议我解决这个问题,我将不胜感激。 以下是razor视图中的相关代码:

  $('#exampleModal').modal('@ViewBag.ModalState');

            $('#exampleModal').on('show.bs.modal', function (event) {
                var button = $(event.relatedTarget);
             
                var year = $("input[name='Year']:checked").val();
                console.log('myyear:' + year);
  //My problem is here, when sending year value to the 
  //ProductDetails method         
                $.get('@Url.Action("ProductDetails", "Home")/' + {year: year}, function (data) {


                $.each(data, function (index, value) {



                    var markup = "<tr><td>" + value.apName +"</td></tr>";

                    $("#classTable").append(markup);
               })
            });
        });
$('examplemodel').model('ViewBag.ModalState');
$('exampleModal').on('show.bs.modal',函数(事件){
var按钮=$(event.relatedTarget);
var year=$(“输入[name='year']:选中”).val();
console.log('myyear:'+年份);
//我的问题是,将年份值发送到
//ProductDetails方法
$.get('@Url.Action(“ProductDetails”,“Home”)/'+{year:year},函数(数据){
$.each(数据、函数(索引、值){
var markup=“”+value.apName+”;
$(“#类表”).append(标记);
})
});
});
主控制器方法:

public IList<ApiApplicantDTO> ProductDetails(string year)
        {
            
            Console.WriteLine("year:" + year);
}
public IList产品详细信息(字符串年)
{
控制台写入线(“年:+年);
}

确保
年份
有值。如果您的url不正确,您需要按以下方式更改:

var year = "2019";
$.get('@Url.Action("ProductDetails", "Home")?year=' + year, function (data) {
    //...
});
结果:


您好,这是
'@Url.Action(“ProductDetails”,“Home”)/'+{year:year}
对吗?你能像这样试试
'@Url.Action(“ProductDetails”,“Home”)/?year'+year
还是简单地
'@Url.Action(“ProductDetails”,“Home”)/'+year
?嗨@hrz,我的回答帮你解决了问题吗?如果是的话,你能接受答案吗?如果不能,请跟进让我知道。