如何在asp.net mvc中使用日期过滤器在不同视图中显示记录

时间:2019-02-11 17:01:06

标签: c# jquery sql asp.net-mvc tsql

我有一个称为索引的视图,我在该视图上使用模式来显示视图模式 是“问题和已接收”模式,问题显示不同的记录,接收到的显示不同的记录。在索引视图上,我有一个日期选择器和一个选择任何日期的按钮,然后单击该按钮,我要显示与该特定日期匹配的记录,但是在不同的看法,我不明白如何使用传递日期值的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,在调试器模式下,我获取了选择的日期的值,但是问题是我没有使用该日期的相应记录重定向到Records视图。请帮助我

1 个答案:

答案 0 :(得分:0)

问题尚不清楚,但我想您想在onClick #print按钮后显示数据

而不是
返回视图(“记录”,res);
使用
 返回PartialView(“记录”,res);

并将呼叫功能更改为

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

按钮之后或您想添加id = result的div

<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>