问题是,加载的时候登录按钮是禁用的,输入值按钮也没什么反应,郁闷,希望各位兄弟帮帮忙...//加载事件
if (!IsPostBack)
        {
            linkbin();            //判断登录框是否输入值
            if (txtName.Text == "" && txtPass.Text == "")
            {
                btnLogin.Enabled = false;
            }
            else
            {                btnLogin.Enabled = true;
            }        }//文本框激发事件
    //用户名框
    protected void txtName_TextChanged(object sender, EventArgs e)
    {
        if (txtName.Text != "")
        {
            btnLogin.Enabled = true;
        }
        else
        {
            btnLogin.Enabled = false;
        }
            }
    //密码框
    protected void txtPass_TextChanged(object sender, EventArgs e)
    {        if (txtPass.Text != "")
        {
            btnLogin.Enabled = true;
        }
        else
        {
            btnLogin.Enabled = false;
        }    }

解决方案 »

  1.   

    1。用js在客户端判断,2. 如果要在后台判断,将TextBox的,
    AutoPostBack="true" 
      

  2.   

    原因:Pag_Load要页面回传才会执行,你在第一次加载时就把button给禁用了,怎麽回传,除非像二楼说的使用自动回传属性AutoPostBack,当你的光标离开Textbox时,就会回传了,这时就会产生第二个问题,就是你把判断放在了if (!IsPostBack)中,这个是判断只有第一次请求页面时才执行括号中的语句。办法:把判断语句放到if语句之外,另外给两个TextBox控件的AutoPostBack属性设置为true
    if (!IsPostBack)
      {
      linkbin();
       }
      //判断登录框是否输入值
      if (txtName.Text == "" && txtPass.Text == "")
      {
      btnLogin.Enabled = false;
      }
      else
      {  btnLogin.Enabled = true;
      }
      

  3.   

    js控制吧,初始时设置btnLogin的Enabled为false
    <input id="txtName" type="text" onkeyup="if(this.value==''){document.getElementById('btnLogin').disabled=true;return}document.getElementById('btnLogin').disabled=false" />
      

  4.   

    最好是用JS来判断吧
    写一个文本为空使Button为只读
    在加载还有TextBox的onblur事件(失去焦点)时来调用JS函数
      

  5.   

    给两个TextBox都添加AutoPostBack="true"属性
      

  6.   

    1。用js在客户端判断,如果文本框 value 值为 空 getElementById("按钮ID").disabled=true;2、后台判断
    if (!IsPostBack)
      {
      linkbin();
      }
      //判断登录框是否输入值
      if (txtName.Text == "" && txtPass.Text == "")
      {
      btnLogin.Enabled = false;
      }
      else
      {  btnLogin.Enabled = true;
      }
      

  7.   

     <script type="text/javascript">
        function check(ss)
        {
           var va=document.getElementById(ss).value;
           if(va=="")
           {
              document.getElementById("btnLogin").disabled=true;
           }
           else
           {
              document.getElementById("btnLogin").disabled=false;
           }
        }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <input id="Button1" type="button" value="button" />
            <asp:TextBox ID="txtName" runat="server"  onkeydown="check('txtName')" ></asp:TextBox>
            <asp:TextBox ID="txtPass" runat="server"  onkeydown="check('txtPass')" ></asp:TextBox>
            <asp:Button ID="btnLogin" runat="server" Text="Button" />
        </div>
        </form>
    </body>
    </html>
      

  8.   


    <input id="txtName" type="text" onkeyup="if(this.value=='')
    {document.getElementById('btnLogin').disabled=true;}
    else{document.getElementById('btnLogin').disabled=false;}" />
      

  9.   

     protected void Page_Load(object sender, EventArgs e)
            {
                Button1.Enabled = false;
            }        protected void TextBox1_TextChanged(object sender, EventArgs e)
            {
                if (TextBox1.Text.Length > 0)
                {
                    Button1.Enabled = true;
                }
                else
                {                Button1.Enabled = false;
                }
            }
    在文本框的属性处的AutoPostBack设置为true就行了,这样当你输入内容后,你把鼠标点击下一个文本框时就会有反应了,经测试有效
      

  10.   

    onkeyup="if(this.value=='') 
    {document.getElementById('btnLogin').disabled=true;} 
    else{document.getElementById('btnLogin').disabled=false;}"