Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Model view controller 控制器的MVC日期时间参数&;看法_Model View Controller_Viewmodel - Fatal编程技术网

Model view controller 控制器的MVC日期时间参数&;看法

Model view controller 控制器的MVC日期时间参数&;看法,model-view-controller,viewmodel,Model View Controller,Viewmodel,我想知道是否有人可以帮助我,我是MVC的新手,在观看了一些关于MVA的视频后,我正在尝试基于现有模型创建我自己的新视图和控制器。我似乎被困在试图在视图上显示搜索结果。(我将在稍后阶段调整linq查询) 所以我的模型是: [Key] public int BookingID { get; set; } public int RoomID { get; set; } public DateTime Arrival_Date { get; set; } public D

我想知道是否有人可以帮助我,我是MVC的新手,在观看了一些关于MVA的视频后,我正在尝试基于现有模型创建我自己的新视图和控制器。我似乎被困在试图在视图上显示搜索结果。(我将在稍后阶段调整linq查询)

所以我的模型是:

[Key]
    public int BookingID { get; set; }
    public int RoomID { get; set; }
    public DateTime Arrival_Date { get; set; }
    public DateTime Departure_Date { get; set; }
我在控制器中添加了一个新的操作结果:

public ActionResult Availability(DateTime? StartDate)
    {
        ViewBag.StartDate = DateTime.Now.AddDays(2);

        var GetBookings = from m in db.Bookings
                          where m.Arrival_Date.Date <= (StartDate)
                          select m;

        if (!StartDate.HasValue)
        {
            GetBookings = db.Bookings.Where(x => x.Arrival_Date <= StartDate);
        }

        return View(GetBookings);

    }
public ActionResult可用性(DateTime?StartDate)
{
ViewBag.StartDate=日期时间.Now.AddDays(2);
var GetBookings=以db.Bookings为单位从m开始
其中m.Arrival\u Date.Date x.Arrival\u Date model.RoomID)
@Html.DisplayNameFor(model=>model.Arrival\u Date)
@Html.DisplayNameFor(model=>model.deposition\u日期)
@foreach(模型中的var项目){
@DisplayFor(modelItem=>item.RoomID)
@DisplayFor(modelItem=>item.Arrival\u Date)
@Html.DisplayFor(modelItem=>item.deposition\u日期)
@ActionLink(“编辑”,“编辑”,新的{id=item.BookingID})|
@ActionLink(“详细信息”,“详细信息”,新的{id=item.BookingID})|
@ActionLink(“删除”,“删除”,新建{id=item.BookingID})
}


希望到目前为止这还不算太糟糕,我想我错过了一个处理显示结果的POST操作,但这正是我遇到的问题,任何想法或建议都将不胜感激!

通过从GET请求中删除参数,并添加一个POST Actionresult,该参数现在正在工作

 [HttpGet]
    public ActionResult Availability()
    {
        ViewBag.StartDate = DateTime.Now;
        return View(db.Bookings.ToList());

    }

[HttpPost]
     public ActionResult Availability(DateTime? StartDate)
     {

         var GetBookings = from m in db.Bookings
                           where DbFunctions.TruncateTime(m.Arrival_Date) <= (StartDate)
                           select m;

         if (!StartDate.HasValue)
         {
             GetBookings = db.Bookings.Where(x => DbFunctions.TruncateTime(x.Arrival_Date) <= StartDate);
         }

         return View(GetBookings);

     }
[HttpGet]
公共行动结果可用性()
{
ViewBag.StartDate=日期时间.Now;
返回视图(db.Bookings.ToList());
}
[HttpPost]
公共行动结果可用性(日期时间?开始日期)
{
var GetBookings=以db.Bookings为单位从m开始
其中DbFunctions.TruncateTime(m.Arrival\u Date)DbFunctions.TruncateTime(x.Arrival\u Date)
    <input type="datetime" value="@(ViewBag.StartDate)" />
    <input type="submit" value="Filter" class="btn btn-default" />
</p>
 <p>
@Html.ActionLink("Create New", "Create")
<table class="table">
<tr>
    <th>
        @Html.DisplayNameFor(model => model.RoomID)
    </th>
    <th>
        @Html.DisplayNameFor(model => model.Arrival_Date)
    </th>
    <th>
        @Html.DisplayNameFor(model => model.Departure_Date)
    </th>
    <th></th>
</tr>

@foreach (var item in Model) {
<tr>
    <td>
        @Html.DisplayFor(modelItem => item.RoomID)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.Arrival_Date)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.Departure_Date)
    </td>
    <td>
        @Html.ActionLink("Edit", "Edit", new { id=item.BookingID }) |
        @Html.ActionLink("Details", "Details", new { id=item.BookingID }) |
        @Html.ActionLink("Delete", "Delete", new { id=item.BookingID })
    </td>
</tr>
 [HttpGet]
    public ActionResult Availability()
    {
        ViewBag.StartDate = DateTime.Now;
        return View(db.Bookings.ToList());

    }

[HttpPost]
     public ActionResult Availability(DateTime? StartDate)
     {

         var GetBookings = from m in db.Bookings
                           where DbFunctions.TruncateTime(m.Arrival_Date) <= (StartDate)
                           select m;

         if (!StartDate.HasValue)
         {
             GetBookings = db.Bookings.Where(x => DbFunctions.TruncateTime(x.Arrival_Date) <= StartDate);
         }

         return View(GetBookings);

     }