首页 > 解决方案 > Ajax 调用返回 viewmodel 但视图不显示结果

问题描述

我正在尝试从我的局部视图中的方法显示返回的模型。使用 Ajax 进行调用,该方法返回一个 viewModel。局部视图处于模态,因此当单击按钮时,会调用该方法并显示局部视图。在部分视图中,如果我调试,我可以看到其中有数据,但是当我遍历它时,它不会在 @item.Users.Email 或任何用户属性中显示结果。

我做错了什么?

这是代码

 [HttpGet]
    public PartialViewResult GetUsersForJob(int? id)
    {
        WhoBidForJobViewModel vm = new WhoBidForJobViewModel();
        var bids = (from j in _context.BidOfJobs where j.JobPostId == id       select j).ToList();
        List<ApplicationUser> users = new List<ApplicationUser>();
        foreach (var item in bids)
        {
            var user = (from u in _context.Users where u.Id ==        item.UserWhoBidId select u).First();
            users.Add(user);
        }
        vm.Users = users;

        return PartialView(vm);
    }

这是从 Ajax 调用方法的控制器。

@model  FinalWorkFinder.Models.WhoBidForJobViewModel
   <ul class="interested-people">
@foreach (var item in Model.Users)
{
    <li>@Model.Users</li>
}

  </ul>

这是模态框内的局部视图。

$.ajax({
        url: '@Url.Action("GetUsersForJob", "Manage")',
        type: "GET",
        contentType: "JSON",
        cache:false,
        data: { id: idd },
        success: function (users) {
            $(".modal-title").html("Interested Users");


                console.log(users);

            }


    });

这就是 Ajax 调用。

标签: javascriptajaxasp.net-mvcmodel-view-controllerasp.net-ajax

解决方案


试试这个并告诉我你的代码idd

$.ajax({
       url:'/GetUsersForJob/Manage',
        type: "GET",
        contentType: "JSON",
        cache:false,
        data: { id: idd },
        success: function (users) {
            $(".modal-title").html("Interested Users");


                console.log(users);

            }


    });

推荐阅读