How do I pass a datetime value as a URI parameter in asp.net mvc?

前端 未结 10 1101
孤城傲影
孤城傲影 2020-12-04 18:58

I need to have an action parameter that has a datetime value? Is there a standard way to do this? I need to have something like:

mysite/Controller/Action/2         


        
10条回答
  •  孤城傲影
    2020-12-04 19:44

    Split out the Year, Month, Day Hours and Mins

    routes.MapRoute(
                "MyNewRoute",
                "{controller}/{action}/{Year}/{Month}/{Days}/{Hours}/{Mins}",
                new { controller="YourControllerName", action="YourActionName"}
            );
    

    Use a cascading If Statement to Build up the datetime from the parameters passed into the Action

        ' Build up the date from the passed url or use the current date
        Dim tCurrentDate As DateTime = Nothing
        If Year.HasValue Then
            If Month.HasValue Then
                If Day.HasValue Then
                    tCurrentDate = New Date(Year, Month, Day)
                Else
                    tCurrentDate = New Date(Year, Month, 1)
                End If
            Else
                tCurrentDate = New Date(Year, 1, 1)
            End If
        Else
            tCurrentDate = StartOfThisWeek(Date.Now)
        End If
    

    (Apologies for the vb.net but you get the idea :P)

提交回复
热议问题