问题:
GridView中添加了一个模板列,在模板列里放了两个服务器控件.如何以编程的方式控制这两个控件显示与否.
因为涉及到了页面复用,唯一的差别就是,一个页面里要看到两个BUTTON,而另一个页面里只能看到一个.不知道该如何设置

解决方案 »

  1.   

    两个页面怎么复用一个 GridView ?用户控件?
      

  2.   

    是页面复用,不是控件(当然控件也就不能称之为复用了,因为它就是为这个而生的)
    就是最最原始的GridView
      

  3.   

    写个判断函数,里面写上显示的条件
    private bool Judge_()
    {
    if(出现在页面1)
    return true;
    else return false;
    }
    然后在每个页面的Page_Load()中加上
    Button1.Visble=Judg_();
    具体怎么写判断条件楼主相必最清楚了
      

  4.   

    找到这个控件
    Button btn1=(Button)e.FindControl("button1");
    if(condition)
    {
      btn1.Visible=false;
    }
      

  5.   

    其实GridView里面已经能够实现了.不知道各位的方法好用与否.我把我找到的解决方法贴出来,谢谢各位了在模板列的编辑状态,然后从"事件"栏里添加一个"RowDataBound"事件.加入我的GridView叫做
    "CustDataGrid1"
    生成的事件为:
    protected void CustDataGrid1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
          
        }然后在事件里面填写代码
    //模板列中,我用的是ImageButton,并且ID=imgBtnDel
    //这句就能控制模板列中的按钮是否可见了(只能是服务器控件)
    //然后在通过其他一些判断就能达到动态控制按钮可见与否了,甚至能以行为单位的控制
    if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    ImageButton imgBtnDel = (ImageButton)e.Row.FindControl("imgBtnDel");
                    imgBtnDel.Visible = false;
                }
    楼上的几位的朋友支的招儿,我一会去试验下.各位好像忽略了一个"访问级别"控制了吧.恐怕我们在外面找不到GridView中模板列里的东西吧,因为貌似模板列里的控件名字可以跟页面中其它控件的名字相同