Визуализация PartialView в div без обратной передачи - PullRequest
0 голосов
/ 09 октября 2019

Я знаю, что этот вопрос задавался много раз, но что бы я ни пытался, я просто не могу заставить его работать. У меня есть actionResult, который принимает три параметра и возвращает частичное представление. Теперь то, что я хочу сделать, это взять значения трех элементов и перерисовать представление в div, используя их. Я попытался использовать захваченные данные для успешной визуализации div, но я не могу понять, что я делаю не так с jquery

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

$('#searchTable').click(function () {
    var date = document.getElementById("datepicker").value;
    var time = document.getElementById("time").value;
    var seats = document.getElementById("seats").value;
    alert(date);
    //var data = JSON.stringify({
    //    'date': date,
    //    'time': time,
    //    'seats': seats
    //});
    //$.ajax({
    //    type: "POST",
    //    url: '/Home/_Table/',
    //    data: data,
    //    dataType: "html",
    //    success: function (result) { success(result); }

    //});
    //function success(result) {
    //    alert(result);
    //    $("#tables").html(result);
    //    $("#tables").load("#tables")
    //};
    //$.ajax({
    //    url: "/Home/_Table",
    //    type: "GET",
    //    contentType: "application/json; charset=utf-8",
    //    data: data,
    //    success: function (data) {
    //        $('#target').html(data); // loading partialView into div
    //    }
    //});
    //$('#tables').load('@{ Html.RenderAction("_Tables", new { date = "' + date + '", time = "' + time + '", seats = "' + seats + '" });}');
    $('#tables').load('@Url.Action("_Tables","Home")', { 'date': date, 'time': time, 'seats': seats });
    alert(time);
    //alert('@{ Html.RenderAction("_Tables", new { date = "' + date + '", time = "' + time + '", seats = "' + seats + '" });}');
});

Я знаю, что проблема заключается в моем непонимании, но у меня нетвремя для исследования AJAX. Моя стажировка основана на "выяснении" в сжатые сроки "

Ответы [ 2 ]

0 голосов
/ 09 октября 2019

Предположим, у вас есть div с id таблицами как

<div id="tables">

. Вы можете использовать следующий метод добавления содержимого частичного просмотра на основе ваших параметров как

        $.ajax({
        url: "/Home/_Tables?date=" + val + "&time="+ val +"&seats="+seats,
        type: "POST",
        cache: false,
        success: function (result) {
            $("#tables").empty();
            $("#tables").html(result);
        },
        error: function () {
            $("#tables").empty();
        }
    });

это будет функция ajax основного вида. И в контроллере сделайте следующее

public ActionResult _Tables(string date, string time,string seats)
{
 // here you can provide model,any viewbag values etc to the partial view and  you will get corresponding html result
   return PartialView("Yourpartial ViewName");
} 
0 голосов
/ 09 октября 2019

Я вижу закомментированную строку в вашем коде:

 $("#tables").html(result);

Это все, что вам нужно! Вы должны заполнить ваш div всем частичным представлением html, которое возвращается с вашего контроллера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...