0

我的 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>
4

3 回答 3

2

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

文本="<%# 绑定("P_D_Name") %>"

于 2013-05-14T23:18:48.970 回答
1
//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>
于 2013-05-15T08:29:01.237 回答
0

您只需使用与 NavigateUrl 相同类型的 DataBinding:

 <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>
于 2013-05-14T23:17:12.340 回答