日期:2014-05-18  浏览次数:20471 次

新人问一个简单的问题
大家应该都在论坛注册过吧,注册的时候会有选填的高级选项,将√打上以后就可以填高级选项里的项目,再点一下,就自动隐藏高级选项的内容,请问这样怎么实现.
我写了一个很笨的办法:    
protected   void   CheckBox1_CheckedChanged(object   sender,   EventArgs   e)
        {
                QuestionBox.Visible   =   true;
                QuestionBoxImage.Visible   =   true;
                AnswerBox.Visible   =   true;
                AnswerBoxImage.Visible   =   true;
        }
但显然是单向的...这无法满足要求
这里就请问达人能不能完善一下?或者是给点更好的方法?谢谢!!!

------解决方案--------------------
发给完整解决你问题的人。

我给你一个例子,假设点击CheckBox1需要隐藏、显示Panel1,可以在page_load中这样写:

Panel1.Attributes[ "display "]= "none "; //不能设置 .Visible=false,只应该在客户端隐藏
CheckBox1.Attributes[ "onclick "]= "var obj= "+Panel1.ClientID+
";if(this.checked)obj.style.display= 'inline ' else obj.style.display= 'none '; ";

这两句就够了。