GridView中只有一列的超链接

本文关键字:一列 超链接 GridView | 更新日期: 2023-09-27 18:13:50

我有一个列在我的Gridview有一个TemplateField在它的URL。现在我的问题是在Text="Details"中,而不是在Details中,我想要在P_D_Name中。

这是我的代码:

 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        DataSourceID="SqlDataSource1">
     <Columns>
         <asp:BoundField DataField="P_D_Name" HeaderText="P_D_Name" 
                SortExpression="P_D_Name" Visible="False" />
         <asp:TemplateField>
             <ItemTemplate>
                 <asp:HyperLink ID="HyperLink1" runat="server" Text="Details" Target="_blank" NavigateUrl='<%# "MYURL" + Eval("P_D_Name")%>'></asp:HyperLink>
             </ItemTemplate>
         </asp:TemplateField>
     </Columns>
 </asp:GridView>

GridView中只有一列的超链接

用eval表达式替换文本,如下所示:

Text="<%# Bind("P_D_Name") %>"

//you just use "<%#Eval("P_D_Name") %>"    
<asp:HyperLink ID="HyperLink1" runat="server" Text="<%#Eval("P_D_Name") %>" Target="_blank" NavigateUrl='<%# "MYURL" + Eval("P_D_Name")%>'></asp:HyperLink>

只需使用与NavigateUrl:

相同类型的数据绑定
 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        DataSourceID="SqlDataSource1">
     <Columns>
         <asp:BoundField DataField="P_D_Name" HeaderText="P_D_Name" 
                SortExpression="P_D_Name" Visible="False" />
         <asp:TemplateField>
             <ItemTemplate>
                 <asp:HyperLink ID="HyperLink1" runat="server" Text='<%# Eval("P_D_Name")%>' Target="_blank" NavigateUrl='<%# "MYURL" + Eval("P_D_Name")%>'></asp:HyperLink>
             </ItemTemplate>
         </asp:TemplateField>
     </Columns>
 </asp:GridView>