Я пытаюсь скрыть LinkButton
в GridView
, если поле в моей строке базы данных пусто.Ошибок нет, но строка тоже не скрыта.Возможен ли этот метод или я должен использовать OnRowDataBound
для этого?
Вот страница aspx:
<asp:GridView ID="tblDownload" runat="server" AutoGenerateColumns="false" ClientIDMode="Static">
<Columns>
<asp:BoundField DataField="Description" HeaderText="Description" />
<asp:TemplateField HeaderText="Download Link" SortExpression="Download Link">
<ItemTemplate>
<asp:LinkButton ID="ID" runat="server" Text="Download" OnClick="DownloadFile" CommandArgument='<%# Eval("ID") %>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
, а вот c #:
public void BindTable()
{
try
{
string constr = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("dbo.spAllRows", con))
{
con.Open();
cmd.CommandType = CommandType.StoredProcedure;
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
DataTable dt = new DataTable();
sda.Fill(dt);
tblDownload.DataSource = dt;
tblDownload.DataBind();
}
using (SqlDataReader sdr = cmd.ExecuteReader())
{
sdr.Read();
var FileName = sdr["FILE_NAME"].ToString();
con.Close();
if (FileName == "" || FileName == null)
{
LinkButton DownloadLink = tblDownload.FindControl("ID") as LinkButton;
DownloadLink.Visible = false;
}
}
}
}
}
catch (Exception ex)
{
}
}