Asp.net mvc 3 路由日期选择器的Mvc3值
我与telerik在asp Mvc3中工作 我在我的Global.asax中添加了一条新路线Asp.net mvc 3 路由日期选择器的Mvc3值,asp.net-mvc-3,razor,asp.net-mvc-routing,telerik-mvc,Asp.net Mvc 3,Razor,Asp.net Mvc Routing,Telerik Mvc,我与telerik在asp Mvc3中工作 我在我的Global.asax中添加了一条新路线 routes.MapRoute( "SearchDate", "ahmed/{date1}/{date2}", new { controller = "ListeDernierEmplacementConnu", acti
routes.MapRoute(
"SearchDate",
"ahmed/{date1}/{date2}",
new
{
controller = "ListeDernierEmplacementConnu",
action = "Search",
date1 = UrlParameter.Optional,
date2 = UrlParameter.Optional
});
在我看来,我会使用这个(datepicker表单)向控制器发送日期
@using (Html.BeginRouteForm("SearchDate", new { date1 ="1-01-2012", date2 ="1-07-2012"}))
{
<label for="date1">rechercher entre</label>
@(Html.Telerik().DatePicker()
.Name("date1")
.Value(DateTime.Now).Max(DateTime.Now).Min(("01/01/2012"))
)
<label for="date2">et</label>
@(Html.Telerik().DatePicker()
.Name("date2")
.Value(DateTime.Now).Max(DateTime.Now).Min(("01/01/2012"))
)
<button type="submit" class="t-button t-state-default" value="search">Rechercher</button>
}
@使用(Html.BeginRouteForm(“SearchDate”,新的{date1=“1-01-2012”,date2=“1-07-2012”}))
{
里切彻中心酒店
@(Html.Telerik().DatePicker())
.姓名(“日期1”)
.Value(DateTime.Now).Max(DateTime.Now).Min((“01/01/2012”))
)
et
@(Html.Telerik().DatePicker())
.姓名(“日期2”)
.Value(DateTime.Now).Max(DateTime.Now).Min((“01/01/2012”))
)
回收机
}
一切正常我在控制器中得到了datepicker的2个值
但我总是被重定向到同一个URL localhost/ahmed/1-01-2012/1-07-2012?Grid page=1
例如,在datepicker1中,我将1/1/2012 datepicker2置于2/2/2012
鉴于我得到了我想要的:2012年1月1日,2012年2月2日
但是url是静态的,我总是得到:localhost/ahmed/1-01-2012/1-07-2012?Grid page=1
如何在url中动态更改这2个值,您可以将表单发布到另一个控制器操作,并重定向到该方法中的适当位置 下面我为您准备了一个示例: 表格
@using (Html.BeginForm("RedirectToDate", "YourController"))
{
<label for="date1">rechercher entre</label>
@(Html.Telerik().DatePicker()
.Name("date1")
.Value(DateTime.Now).Max(DateTime.Now).Min(("01/01/2012"))
)
<label for="date2">et</label>
@(Html.Telerik().DatePicker()
.Name("date2")
.Value(DateTime.Now).Max(DateTime.Now).Min(("01/01/2012"))
)
<input type="submit" value="Submit" />
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult RedirectToDate()
{
string date1 = Convert.ToDateTime(Request.Form["date1"]).ToString("dd-MM-yyyy");
string date2 = Convert.ToDateTime(Request.Form["date2"]).ToString("dd-MM-yyyy");
return Redirect(String.Concat("/ahmed/", date1 "/", date2 "/"));
}