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