div在服务器运行时(runat="server")就成了HtmlGenericControl类的一个实例,它是控件。
你是想隐藏这一列吗?
如果是的话可以用
this.paperdisplay.Columns[要隐藏的列].Visible = false;
如果想隐藏内容而保留列名,就要隐藏每一行的ChoiceType,因为它位于gridview的每一行中,每行都有一个ChoiceType,而不是在gridview中。所以直接对paperdisplay进行FindControl是找不到它的。
for (int i = 0; i < GridView1.Rows.Count; i++)
{
System.Web.UI.HtmlControls.HtmlGenericControl tt = (System.Web.UI.HtmlControls.HtmlGenericControl)GridView1.Rows[i].FindControl("ChoiceType");
tt.Style.Add("display", "none");//tt.Visible = false;也可以
}
// 摘要:
// 在当前的命名容器中搜索带指定 id 参数的服务器控件。
//
// 参数:
// id:
// 要查找的控件的标识符。
//
// 返回结果:
// 指定的控件,或为 null(如果指定的控件不存在的话)。
public virtual Control FindControl(string id);
注释很清楚的写着 带 id 的服务器控件啊。你那个div 就不是个空间啊。连客户端都不是啊。所以你必须的用别的方法。
对asp程序不太懂,但是可以给一个思路,把要隐藏的的层(DIV)样式设置为display:none,然后在需要显示时属性变成display:inline。希望有所帮助。
这个真不懂!