运行时在Gridview中生成HyperlinkField

时间:2012-11-27 07:30:18

标签: asp.net sql-server gridview

我的网站上有gridview。

我想在sqldatasource中添加多个参数。

传递的参数将根据用户选择进行更改。

所以我想使用代码在gridview中添加数据并添加HyperlinkField运行时。

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="EMP_ID"
                DataSourceID="SqlDataSource1" CssClass="Gridview">
   <Columns>
      <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True"
                        SortExpression="ID" />
      <asp:BoundField DataField="SUBJECT" HeaderText="SUBJECT" SortExpression="SUBJECT" />
       <asp:HyperLinkField DataNavigateUrlFields="ID" DataNavigateUrlFormatString="DisplayD.aspx?id={0}"
                        DataTextField="MESSAGE" HeaderText="MESSAGE" />
       <asp:BoundField DataField="DATE" HeaderText="DATE" SortExpression="DATE" ReadOnly="True" />
   </Columns>
   <SelectedRowStyle ForeColor="HotPink" BackColor="Snow" />
</asp:GridView>

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:EAR_CS %>"
    SelectCommand="LIST" SelectCommandType="StoredProcedure">
    <SelectParameters>
        <asp:SessionParameter Name="ID" SessionField="UserID" Type="Int32" />
    </SelectParameters>
</asp:SqlDataSource>

编辑 -
并且在行数据绑定上使用了此代码

 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
 {
      HyperLinkField hlf = (HyperLinkField)GridView1.Columns[2]; 
      string[] items = new string[1]; items[0] = "ID"; 
      //items[1] = "CategoryName";
      hlf.DataNavigateUrlFields = items;                   
      hlf.DataNavigateUrlFormatString = "~/DisplayD.aspx?id={0}"; 

 }

如何使用代码隐藏在网格视图运行时分配超链接字段?

0 个答案:

没有答案