datepicker的路由Mvc3值

发布于 2025-01-02 07:56:26 字数 1445 浏览 0 评论 0原文

我正在使用 telerik 进行 asp Mvc3 工作 我在 Global.asax 中添加了一条新路线

            routes.MapRoute(
            "SearchDate",
            "ahmed/{date1}/{date2}",
            new
            {
                controller = "ListeDernierEmplacementConnu",
                action = "Search",
                date1 = UrlParameter.Optional,
                date2 = UrlParameter.Optional
            });

,在我看来,我将使用此(日期选择器形式)将日期发送到控制器

    @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>
   }  

一切正常,我在控制器中获得了日期选择器的 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日,

但网址是静态的,我总是得到: localhost/ahmed/1-01-2012/1-07-2012?Grid-page=1

如何动态更改网址中的这2个值

i am working in an asp Mvc3 with telerik
I added a new route in my Global.asax

            routes.MapRoute(
            "SearchDate",
            "ahmed/{date1}/{date2}",
            new
            {
                controller = "ListeDernierEmplacementConnu",
                action = "Search",
                date1 = UrlParameter.Optional,
                date2 = UrlParameter.Optional
            });

and in My view i would use this (datepicker form) to send dates to the controller

    @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>
   }  

Everything works fine i get the 2 values of datepicker in my controller
but i'm always redirected to the same URL localhost/ahmed/1-01-2012/1-07-2012?Grid-page=1

for example in datepicker1 i put 1/1/2012 datepicker2 2/2/2012

in view i get what i want : 1/1/2012 , 2/2/2012

but the url is static i get always: localhost/ahmed/1-01-2012/1-07-2012?Grid-page=1

how to dynamically change this 2 values in the url

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

波浪屿的海角声 2025-01-09 07:56:26

您可以将表单发布到另一个控制器操作并重定向到此方法中的适当位置。

我在下面为您准备了一个示例:

表单

@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 "/"));
}

You could post your form to another controller action and redirect to the appropriate place within this method.

I've prepared an example for you below:

Form

@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" />
}

Controller

[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 "/"));
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文