как показать записи в режиме просмотра с разным фильтром в asp.net mvc - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть одно представление, называемое индексом, в котором я использую режимы для отображения вида. Режимы «Выпуск» и «Полученный режим» отображают разные записи и получаются с отображением разных записей.любую дату и нажимая на кнопку, я хочу показать записи, соответствующие этой конкретной дате, но в другом представлении я не понимаю, как этого добиться, я использую метод jquery post, через который я передаю значение даты

Вот мои cshtml и jquery

<div class="row">
    <div class="col-7 offset-4">
        <div class="form-inline">
            <input id="date" class="eadate form-control" />
            <button id="print" class="print btn btn-default"><i class="fas fa-print"></i></button>
        </div>
    </div>
</div>

    $(function() {
        $('#print').click(function () {
            var Date = $('#date').val();
            $.post('@Url.Action("Records", "LaundryFirm")', { dateval: Date });
        });

    });

here is my controller method

        public ActionResult Records(DateTime? dateval)
        {
            var res = db.Query<RoomLaundryvw>($"Select rm.RoomID,rm.RoomNo,g.GuestID,g.GuestName,ln.ReservationID,ity.ItemTypeName,it.ItemName,ln.PickDate,ln.DropDate from Laundry ln " +
                    "inner join Items it on ln.ItemId = it.ItemId " +
                    "inner join ItemTypes ity on ity.ItemTypeId = it.ItemTypeId " +
                    "inner join Rooms rm on ln.RoomID = rm.RoomID " +
                    "left join Reservation_Guest rg on rg.ReservationID = ln.ReservationID " +
                    "left join Guests g on g.GuestID = rg.GuestID " +
                   $"where ln.PickDate = '{dateval}'").ToList();
            return View("Records", res);
        }

класс eadate указывает на datepicker в этом случае, в режиме отладчика я получаю значение даты selecetd, но проблема в том, что я не перенаправляю в представление Records с соответствующими записямиэтой даты. Пожалуйста, помогите мне с этим

1 Ответ

0 голосов
/ 13 февраля 2019

Вопрос слишком неясен, но, как я полагаю, вы хотите показывать данные после нажатия кнопки onClick #print

вместо return View («Записи», res); использование вернуть PartialView ("Records", res);

и изменить функцию вызова на

var url = '@Url.Action("Records", "LaundryFirm")';
$('#print').click(function() {
  var Date = $('#date').val();
  $('#result').load(url, { dateval: Date });
})

и после кнопки или где вы хотите добавить div с id = result

<div class="row">
  <div class="col-7 offset-4">
    <div class="form-inline">
      <input id="date" class="eadate form-control" />
      <button id="print" class="print btn btn-default"> <i class="fas fa-print"></i> </button>
    </div>
  </div>
</div>
<div id="result"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...