[英]How to map DataNavigateUrlFormatString of Gridview Hyperlink Field dynamicatlly vb.net?
[英]GridView hyperlink for Date field is not displaying using vb.net
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" Width="637px" CssClass="auto-style1">
<Columns>
<asp:HyperLinkField DataNavigateUrlFields="TimeStamp" DataNavigateUrlFormatString="Logs.aspx?TimeStamp={0}" DataTextField="TimeStamp" HeaderText="TIME STAMP"></asp:HyperLinkField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:SoneilCloudRemConnectionString %>"
SelectCommand="SELECT [TimeStamp] FROM [SensorLogData] WHERE ([deviceId] = @deviceId)">
<SelectParameters>
<asp:Parameter DefaultValue="121313131" Name="deviceId" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
以上是用於顯示帶有超鏈接的日期的代碼片段。 對我來說,它只顯示日期而不是超鏈接。 在我的 SQL 中,此日期的數據類型為“日期時間”格式。
我嘗試使用其他字段在超鏈接中顯示,它正在工作。 僅針對日期時間查找問題。
Gridview 不會構建包含:
在Timestamp
的時間部分)的 URL。 這會導致創建一個沒有href
的<a>
標簽。
如果沒有時間,您可以更改DataNavigateUrlFormatString
以僅使用日期部分:
DataNavigateUrlFormatString="Logs.aspx?TimeStamp={0:d}"
此處描述了另一種選擇。 這將涉及將Timestamp
格式化為特定格式,然后使用`DateTime.ParseExact() 解析查詢字符串Timestamp
。
DataNavigateUrlFormatString="Logs.aspx?TimeStamp={0:yyyy-MM-dd hh-mm-ss}"
然后在Logs.aspx
:
DateTime.ParseExact(Request.QueryString("Timestamp").ToString(), "yyyy-MM-dd hh-mm-ss", System.Globalization.CultureInfo.CurrentCulture)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.