我在按钮单击事件中将数据绑定到 gridview。绑定数据后,我正在检查用户是否为管理员。如果用户不是管理员,我想让一些列不可见。但它正在抛出“索引超出范围异常”。下面是我的代码。
protected void btn_Click(object sender, EventArgs e)
{
GridStaffBindData();
sqlCon.Open();
SqlCommand checkAdminCmd = new SqlCommand("query", sqlCon);
object admin = checkAdminCmd.ExecuteScalar();
if(admin == null)
{
gridStaff.Columns[0].Visible = false; //throwing exception here
}
sqlCon.Close();
}
我猜。tt 一定是我在这里想念的简单东西。
我的 GridStaffBind 函数非常简单。我不认为这有什么问题。无论如何,下面是代码。
private void GridStaffBindData()
{
sqlCon.Open();
string sqlCommand = "select command";
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(sqlCommand, sqlCon);
da.Fill(dt);
sqlCon.Close();
gridStaff.DataSource = dt;
gridStaff.DataBind();
}
当我评论异常代码行时,数据完美地绑定到了gridview。所以,我认为数据没有错。
谢谢