我在GridView中有2个TemplateField列。一列显示文件的名称(如果存在),另一列显示链接按钮以下载第一列中显示的文件。
但是,即使特定行中没有文件,它仍然包含下载链接(单击时不执行任何操作)。
我无法弄清楚如何在没有文件的行中隐藏下载链接。
<asp:GridView ID="gvData" runat="server"DataSourceID="mySqlDataSource2">
<Columns>
<asp:TemplateField HeaderText="File Name " SortExpression="FileName">
<EditItemTemplate>
<asp:Label ID="Label12" runat="server" Text='<%# Bind("FileName") %>'></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label6" runat="server" Text='<%# Bind("FileName") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle CssClass="gridHeader" ForeColor="#A1ADBB" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Download Config" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:LinkButton ID="download" runat="server" CausesValidation="false" OnClick="download_Click"
CommandArgument="<% %>"
CommandName="Download">
<i aria-hidden="true"></i></asp:LinkButton>
</ItemTemplate>
<HeaderStyle CssClass="gridHeader" ForeColor="#A1ADBB" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="mySqlDataSource2" runat="server" ConnectionString="<%$ connectionStrings:cs3 %>"
ProviderName="MySql.Data.MySqlClient" SelectCommand="#$$@#$^"
OnSelected="mySqlDataSource_Selected"></asp:SqlDataSource>
答案 0 :(得分:1)
把它放在LinkButton
中visible='<%# (Eval("FileName") != null && Eval("FileName") != "") ? true : false %>'