代码如下:想实现,点击某一行,那么这行这列的panel控件会显示,在点会消失,请问该怎么实现呢?
<asp:TemplateField HeaderText="标题">
                    <ItemTemplate>
                        <table style="width: 377px; height: 254px">
                            <tr>
                                <td style="width: 100px; height: 21px;">
                                    <asp:Label ID="Label1" runat="server" Text='<%# Bind("title")%>' Width="362px"></asp:Label></td>
                            </tr>
                            <tr>
                                <td style="width: 100px">
                                    <asp:Panel ID="Panel1" runat="server" Width="350px" Height="200px">
                                        <asp:TextBox ID="TextBox1" runat="server" Height="166px" Rows="5" Text='<%# Bind("content") %>'
                                            TextMode="MultiLine" Width="364px"></asp:TextBox>
                                   <asp:Button ID="Button2" runat="server" Text="保存" />
                                       
                                    </asp:Panel>
                                    &nbsp;
                                </td>
                            </tr>
                        </table>
                    </ItemTemplate>
                </asp:TemplateField>
谢谢!!!

解决方案 »

  1.   

    可以用一个变量控制 Panel1.visible 属性
      

  2.   

    原理上来讲,两者都是运行在服务器端的。所以你需要一个也运行在服务器端的控件来监控它们的状态。
    可以用一个Button,点击了以后做到你的效果。或者,你觉得不好看,尝试用HyperLink之类的吧。
    总之,页面需要PostBack一次才行。
      

  3.   

    private void Button1_Click(object sender, System.EventArgs e)
    {
    if (Panel1.Visible=false)
    {
    panel1.visible=true;
    }
    else
    {
    panel1.visible=false;
    }
    }
      

  4.   

    应该是可以通过js来实现的,给每行添加一个click事件Panel1开始的时候默认 style="display:none;"
    click事件的时候再把Panel1对应的客户端的id 设置style="display:'';"
      

  5.   

    查看生成页面源文件,找到Panel 的客户端生成规律,
    设置document.getElementById('panelId').style.visibility="hidden";
      

  6.   

    <script language="javascript" type="text/javascript">
       function ShowDiv(id1,id)
       {
            var obj1 = document.getElementById(id1);
            var obj = document.getElementById(id);
            if (obj.style.display=="none")
            {
                obj1.innerText = "Hidden Discipline";
                obj.style.display="";
            }
            else
            {
                obj1.innerText = "Show Discipline";
                obj.style.display="none";
            }    
       }
    </script> <a id="a1" href="javascript:ShowDiv('a1','<%= divDis.ClientID %>')">Show Disciplines</a>
                            <div id="divDis" style="display:none" runat="server">
                                <br />
                                <uc:Discipline ID="Discipline1" runat="server" />
                            </div>
      

  7.   

    服务器端的:
    private void Button1_Click(object sender, System.EventArgs e)
    {
    if (Panel1.Visible=false)
    {
    panel1.visible=true;
    }
    else
    {
    panel1.visible=false;
    }
    }客户端js的:panel1=document.getElementById('panelId');
    if(panel1.style.display=="")
    {
      panel1.style.display="none";
    }
    else
    {
    panel1.style.display="";}