<asp:RadioButtonList   ID="rdoChoose"  runat="server" RepeatDirection="Horizontal"  RepeatLayout="Flow" OnSelectedIndexChanged="rdoChoose_SelectedIndexChanged">
                   <asp:ListItem Selected="false" Value="Name" >按名称</asp:ListItem>
                   <asp:ListItem Value="Datetimes" Selected="True">按日期</asp:ListItem>
               </asp:RadioButtonList>
               <asp:TextBox  ID="txtKeyword" runat="server" CssClass="input_width1" onfocus="new WdatePicker(this,'%Y-%M-%D',false,'whyGreen')" ></asp:TextBox>
                <asp:TextBox ID="TextBox1" runat="server" CssClass="input_width1"></asp:TextBox>
选择名称时,让第一个文本框隐藏,我该怎么写啊
选择日期时,让第二个文本框隐藏,改怎么实现啊

解决方案 »

  1.   

    OnSelectedIndexChanged事件是在服务器端执行的
    所以要把RadioButtonList 的autopostback设为true
      

  2.   

    在你改变按钮的选项时 执行啊OnSelectedIndexChanged事件是在服务器端执行的 
    所以要把RadioButtonList 的autopostback设为true
      

  3.   

    触发下拉框值改变的事件,判断下拉框的value
      

  4.   


     protected void rdoChoose_SelectedIndexChanged(object sender, EventArgs e)
            {
                switch (rdoChoose.SelectedValue)
                {
                    case "Name":
                        {
                            this.txtKeyword.Style.Add("display","none");
                            this.TextBox2.Style.Remove("display");
                            break;
                        }
                    case "Datetimes":
                        {
                            this.TextBox2.Style.Add("display", "none");
                            this.txtKeyword.Style.Remove("display");
                            break;
                        }
                    default: break;
                }
            }还有就是加上AutoPostBack=true;