1

嗨,我有这个视图,根据我选择的范围日期显示酒店中的所有免费房间:开始日期 - 结束日期。我想将“StartDate”和“EndDate”与房间 ID 一起作为对象路由值传递给 CreateReservation 操作。@Html.ActionLink("RezervaCamera", "CreateReservation", "Reservation", new {RoomID= room.RoomID }, “”)并且不知道如何。这是否可以将字符串作为路由对象传递。

这是我的看法:

  @using (Html.BeginForm("SearchFree", "Reservation", FormMethod.Get))
  {
   <div class="editor-label">
   <label for="StartDate">Select Start date:
    </label>@(Html.JQueryUI().Datepicker("StartDate").MinDate(DateTime.Today).ShowButtonPanel(true).ChangeYear(true).ChangeMonth(true).NumberOfMonths(2))


     </div>
     <div class="editor-label">
      <label for="EndDate">Select End date:</label>@(Html.JQueryUI().Datepicker("EndDate").MinDate(DateTime.Today).ShowButtonPanel(true).ChangeYear(true).ChangeMonth(true).NumberOfMonths(2))


</div>

<p>
    <input type="submit" value="Search" />
</p>

  }

          <div class="styler">
             <fieldset class="ui-widget">
<legend class="ui-state-legend-default ui-corner-top ui-corner-bottom">CamereleLibere

    <ul id="album-list">
        @foreach (var album in Model)
        {
             @Html.ActionLink("RezervaCamera", "CreateReservation", "Reservation", new {RoomID= room.RoomID }, "")



                     <div style="float:left;margin-right:20px"> 
                     <img title=CameraNumarul:@album.Room_number width="75" height="75" src="@Url.Action("GetImage", "Rooms",
                     new { album.RoomID})" />

                     <span>Numarul de locuri:@album.NumberofSpots</span>




                     </a>

            </li>
        }
4

1 回答 1

0

您似乎正在使用一些Html.JQueryUI().Datepicker不标准的自定义助手。查看生成的 HTML 代码源。我猜这个助手会生成一个文本输入:

<input type="text" name="StatrDate" ...>

注意name属性。现在在您的控制器操作中使用相同的名称:

[HttpPost]
pubilc ActionResult SearchFree(int roomID, DateTime startDate, DateTime endDate)
{
    ...
}

甚至更好地使用视图模型:

public class ReservationViewModel
{
    public int RoomID { get; set; }
    public DateTime StartDate { get; set; }
    public DateTime EndDate { get; set; }
}

进而:

[HttpPost]
pubilc ActionResult SearchFree(ReservationViewModel model)
{
    ...
}

另请查看以下博客文章,该文章讨论了解析 GET 和 POST 请求之间的 DateTimes 时默认模型绑定器使用的格式的差异。对于 GET 请求,预期格式如下:yyyy-MM-dd.

于 2012-05-21T08:51:45.060 回答