在div中有一gridview,在gridview的rowcommand里面点击实现隐藏这个div.
在rowcommand事件里面写   response.write("<script>document.getElementById('div').style.display='none'</script>");这句不能找到当前div,不知道有什么方法能实现。

解决方案 »

  1.   

    div的id是什么,getElementById('div的id')
      

  2.   


    用这句:
    ClientScript.RegisterStartupScript(this.GetType(),"","<script>document.getElementById('div').style.display='none'</script>");
      

  3.   

    这样是不行的,你这样试下,我都这样的,在DIV中加上"server=runat"如:<div id="show" runat="server"></div>就可以了
    在rowcommand中直接   show.Visible = false;就可以隐藏了
      

  4.   


    ClientScript.RegisterStartupScript(GetType(),"js","<script>document.getElementById('div').style.display='none'</script>");
    因为response.write("<script>document.getElementById('div').style.display='none'</script>");
    在页面输出的区域在div 输出之前,所以是找不到div 的,会报缺少对象的js错误
      

  5.   

    恩,现在知道是因为在创建之前没有div的原因,现在我是想在rowcommand的时候显示当前页的另外一个div,我是用的模板列,链接到本页,但是这样在rowcommand的时候是有隐藏div,但是因为rowcommand本身也是链接到本页,结果div又显示出来了,不知道有什么方法记住当前的状态。
      

  6.   

    <div id="div1">
    </div1>
    <div id="div2">
        <asp:GridView ID="grd_List" runat="server" AutoGenerateColumns="False" 
            Width="527px">
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <a href ='cur.aspx?cur_no=<%#DataBinder.Eval(Container.DataItem,"cur_no") %>' onclick="hidediv2();return false;">编辑</a>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
    </div>
    代码是这样的。
      

  7.   

    get 方式 把状态传过去
      

  8.   

    runat Server了,直接在后台操作不好吗?
      

  9.   

    runat server方法也可以,我现在是在body onload里面判断的,能够实现了。
      

  10.   


    非常同意,想要在服务端操作客户端,就要runat server