簡體   English   中英

如何在asp.net中的gridview中創建鏈接

[英]how to create a link in gridview in asp.net

我正在嘗試創建一個具有gridview的網頁。 這個gridview應該有如下鏈接

http://localhost/Test.aspx?code=123

當用戶點擊gridview中其中一行的鏈接時,它將打開一個空白頁面並顯示一些結果。

這是我如何將數據綁定到gridview但我不知道如何設置鏈接

protected void Page_Load(object sender, EventArgs e)
{
    string firma_no = logoFrmNr.ToString().PadLeft(3, '0');
    string active_period = logoFrmPeriod.PadLeft(2, '0');

    SqlConnection conn = new SqlConnection(conStr);
    string selectSql = @"SELECT 
                                LOGICALREF,
                                CODE , 
                                DEFINITION_ ,
                                FROM 
                                LG_CLFLINE";

    SqlCommand cmd = new SqlCommand(selectSql, conn);
    DataTable dt = new DataTable();
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    da.Fill(dt);
    GridView1.DataSource = dt;
    GridView1.DataBind();

    conn.Close();
}

這是標記

<asp:GridView ID="GridView1" runat="server" EnableModelValidation="True">
</asp:GridView>

如何從CODE列中建立鏈接?

將其添加到網格視圖標記中的“ Columns定義中:

<asp:TemplateField HeaderText="Hyperlink">
    <ItemTemplate>
        <asp:HyperLink ID="HyperLink1" runat="server" 
            NavigateUrl='<%# Eval("CODE", @"http://localhost/Test.aspx?code={0}") %>' 
            Text='link to code'>
        </asp:HyperLink>
    </ItemTemplate>
</asp:TemplateField>

這有一個訣竅。 Hyperlink列不起作用,因為您無法格式化鏈接。 您想使用boundfield並格式化文本。 像這樣

<asp:GridView ID="GridView1" runat="server" EnableModelValidation="True">
    <Columns>
        <asp:BoundField DataField="Code" HtmlEncode="False" DataFormatString="<a target='_blank' href='Test.aspx?code={0}'>Link Text Goes here</a>" />
    </Columns>
</asp:GridView>

或者,如果需要指定編輯和插入模板,則可以使用模板字段。

對我來說就像是

<asp:DataGrid id="MyDataGrid" 
           GridLines="Both"
           AutoGenerateColumns="false"
           runat="server">

         <HeaderStyle BackColor="#aaaadd"/>

         <Columns>

            <asp:HyperLinkColumn
                 HeaderText="Select an Item"
                 DataNavigateUrlField="code"
                 DataNavigateUrlFormatString="http://localhost/Test.aspx?code={0}"
                 Target="_blank"/>

         </Columns>

      </asp:DataGrid>

您應該能夠在標記中使用HyperLinkColumn。

HyperlinkColumn文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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