簡體   English   中英

日期字段的 GridView 超鏈接未使用 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM