我的Gridview中有一列,其中包含带{URL的TemplateField
。现在我的问题出在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>
答案 0 :(得分:2)
用eval表达式替换文本,如下所示:
Text =“&lt;%#Bind(”P_D_Name“)%&gt;”
答案 1 :(得分: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>
答案 2 :(得分: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>