代码之家  ›  专栏  ›  技术社区  ›  DavRob60

如何在querystring中编码日期时间并在asp:querystring参数中读取它

  •  6
  • DavRob60  · 技术社区  · 16 年前

    如何编码 DateTime 在一个 QueryString 并在 asp:QueryStringParameter ?

    出: (这是一个 asp:HyperLink NavigateUrl )

    String.Format("~/Reports/Logs/Option_History.aspx?OptionID={0}&time={1}", _
                  id, _
                  time)
    

    在:

    <asp:QueryStringParameter Name="time" 
                              QueryStringField="Time" 
                              Type="DateTime" 
                              ConvertEmptyStringToNull="true" />
    
    1 回复  |  直到 13 年前
        1
  •  12
  •   Mark Hurd    13 年前

    你自己回答的,只是你在找 UrlEncode . 您还需要确认什么格式 asp:QueryStringParameter Type="DateTime" 接受,例如可能需要 MM/dd/yyyy HH:mm:ss 不考虑Web服务器的区域设置,或者 取决于Web服务器的区域设置,在这种情况下,您需要一种不变的日期格式,如 yyyy-MM-dd HH:mm:ss .

    更新
    下面是一个工作示例:

    String.Format("~/Reports/Logs/Option_History.aspx?OptionID={0}&time={1}", _
                  id, _
                  HttpUtility.UrlEncode(time.ToString("o")))
    

    ToString("o") 使用 Round-trip ("O", "o") Format Specifier