Ajax call return viewmodel, но представление не отображает результаты - PullRequest
1 голос
/ 16 мая 2019

Я пытаюсь отобразить возвращенную модель из метода в моем частичном представлении.Вызов выполняется с помощью 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.

Ответы [ 2 ]

1 голос
/ 16 мая 2019

Попробуйте и покажите мне свой код для 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);

            }


    });
0 голосов
/ 16 мая 2019

Итак, после долгого разговора и обсуждения результат:

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("_partialView", vm);
}


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

$("modal.selector.body").html("users");
                console.log(users);

            }


    });
...