Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/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
Asp.net mvc 将字符串作为对象路由值传递_Asp.net Mvc_Asp.net Mvc 3_Razor - Fatal编程技术网

Asp.net mvc 将字符串作为对象路由值传递

Asp.net mvc 将字符串作为对象路由值传递,asp.net-mvc,asp.net-mvc-3,razor,Asp.net Mvc,Asp.net Mvc 3,Razor,您好,我有这个视图,它根据我选择的范围日期显示我在酒店的所有免费房间:StartDate EndDate。 我想将“StartDate”和“EndDate”与房间id一起作为对象路由值传递给CreateReservation操作。 @ActionLink(“RezervaCamera”,“CreateReservation”,“Reservation”,new{RoomID=room.RoomID},”),不知道如何传递。是否可以将字符串作为路由对象传递 以下是我的看法: @using (H

您好,我有这个视图,它根据我选择的范围日期显示我在酒店的所有免费房间:StartDate EndDate。 我想将“StartDate”和“EndDate”与房间id一起作为对象路由值传递给CreateReservation操作。 @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>
        }
@使用(Html.BeginForm(“SearchFree”、“Reservation”、FormMethod.Get))
{
选择开始日期:
@(Html.JQueryUI().Datepicker(“StartDate”).MinDate(DateTime.Today).ShowButtonPanel(true).ChangeYear(true).ChangeMonth(true).NumberOfMonths(2))
选择结束日期:@(Html.JQueryUI().Datepicker(“结束日期”).MinDate(DateTime.Today).ShowButtonPanel(true).ChangeYear(true).ChangeMonth(true).NumberOfMonths(2))

} 卡默雷利伯
    @foreach(模型中的var相册) { @ActionLink(“RezervaCamera”,“CreateReservation”,“Reservation”,new{RoomID=room.RoomID},”) Numarul de Locri:@album.NumberofSpots }
您似乎使用了一些非标准的自定义
Html.JQueryUI().Datepicker
帮助程序。请查看生成的Html代码源。我猜此帮助程序生成了一个文本输入:

<input type="text" name="StatrDate" ...>
或者更好地使用视图模型:

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请求之间的日期时间时默认模型绑定器使用的格式的差异。对于GET请求,需要以下格式:
yyyy-MM-dd

此部分对我有效,我显示空闲房间。我要做的是在单击预订房间时显示空闲房间对于要传递给“创建保留”操作的我显示的房间,我在搜索空闲房间时已选择的日期,这就是我显示给您的代码将发生的情况。您应该让控制器操作将这些日期时间作为附加参数。
[HttpPost]
pubilc ActionResult SearchFree(ReservationViewModel model)
{
    ...
}