Как показать результат linq в частичном представлении и обновить частичное представление на основе нажатия кнопки в mvc? - PullRequest
0 голосов
/ 31 декабря 2018

У меня есть страница с левой стороны, которая содержит список заданий, а с правой стороны - частичное представление для отображения сведений о выбранной работе (частичное представление отображается только при нажатии пользователем на задание), но я не могу пройтиИдентификатор выбранных вакансий, а не его частичное представление.

 public ActionResult Index(int? id)
        {

            var selectedjob = db.Postings.ToList();
            if (Request.IsAjaxRequest())
            {
                 selectedjob = db.Postings.Where(p => p.PostingId == id).ToList();
                ViewBag.sss = selectedjob;
                return PartialView("_JobDetails", selectedjob);
            }

            return View("Index", selectedjob);
            //return View(db.Postings.ToList());
        }

1 Ответ

0 голосов
/ 02 января 2019

Чтобы обновить частичное представление (выбранные сведения о работе), вам нужно сделать ajax-вызов.

Например,

Допустим, ниже приведен список ваших вакансий html.

    <ul>
       <li>
          <a hre="javascript:;" data-jobid="1" class="job-desc">Job 1 </a>              
       </li>
       <li>             
          <a hre="javascript:;" data-jobid="2" class="job-desc">Job 2 </a>
       </li>
    </ul>

Предположим, что событие jquery click для Названия заданий выглядит как -

 $(document).on('click', '.job-desc', function () {
    var JobId = $(this).data('jobid'); // This will get the clicked job's Id

    $.ajax({
        url: "@Url.Action("Index","Home")",
        type: 'post',
        dataType:"HTML", // as we will be returning Partial view
        data: { id: JobId },
        success: function (data) {
            $('#job-details').html(data); // assuming that your job details is under "job-details" as div id
        }
    });
});

Теперь результат вашего действия в контроллере Home будет выглядеть как -

    public ActionResult Index(int? id)
    {
        var selectedjob = db.Postings.ToList();
        if (Request.IsAjaxRequest())
        {
             selectedjob = db.Postings.Where(p => p.PostingId == id).ToList();
             ViewBag.sss = selectedjob;

        }
        return PartialView("_JobDetails", selectedjob);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...