繁体   English   中英

模型未使用 Ajax 调用与 MVC 中的控制器连接?

[英]Model is not attaching with controller in MVC using Ajax call?

我正在尝试使用 ajax 将模型从视图传递到控制器,当我检查 JS 调试器模型中的值有数据但它没有与控制器绑定并且控制器模型显示为空时。

 function BulkUpdate()
       {
           debugger;
           var model = @Html.Raw(Json.Encode(Model.tags))
           $.ajax({
               type: 'GET', //GET
               data: JSON.stringify({model}),
               url: '@Url.Action("BulkUpdate", "Home")',
               contentType: 'application/json; charset=utf-8',
               dataType: "json",
               success: function (data) {
                $('#myModalContent').html(data);
                $('#myModal').modal('show');
               }
           });

        }

//and my controller code is
public ActionResult BulkUpdate(List<Tag> tags)
        {
            ModelAccessor obj1 = new ModelAccessor();
            obj1.updatedDatas = new List<UpdatedData>();
            foreach (var item in tags)
            {
                var tag = db.Tags.Where(x => x.Id.Equals(item.Id)).FirstOrDefault();
                if (tag.TagValue != item.TagValue) 
                {

                   UpdatedData changedRow = new UpdatedData { 
                     OldTagValue=tag.TagValue,
                     NewTagValue=item.TagValue.Trim()
                    };
                    obj1.updatedDatas.Add(changedRow);
                }
            }
            return PartialView("_UpdateConfirmationBulk", obj1);
        }

我有一个解决方案。

function BulkUpdate()
{
   debugger;
   var model = @Html.Raw(Json.Encode(Model.tags))
   $.ajax({
      type: 'GET', //GET
      data: {'tags':JSON.stringify({model})},
      url: '@Url.Action("BulkUpdate", "Home")',
      contentType: 'application/json; charset=utf-8',
      dataType: "json",
      success: function (data) {
      $('#myModalContent').html(data);
      $('#myModal').modal('show');
      }
    });

 }

试试这个,因为你的方法需要一个名为tags参数,而你的 ajax 调用中缺少这个参数

你可以试试邮寄的类型吗?

 var model = @Html.Raw(Json.Encode(Model.tags))
       $.ajax({
           type: 'POST', //GET
           data: JSON.stringify({model}),
           url: '@Url.Action("BulkUpdate", "Home")',
           contentType: 'application/json; charset=utf-8',
           dataType: "json",
           success: function (data) {
            $('#myModalContent').html(data);
            $('#myModal').modal('show');
           }
       });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM