黑马程序员技术交流社区

标题: 如何提示文本框不能为空值 [打印本页]

作者: 李朋霏    时间: 2012-7-19 20:17
标题: 如何提示文本框不能为空值
  
        protected void Button1_Click(object sender, EventArgs e)
        {
            if (TextBox1.Text != null || TextBox2.Text != null)  //当两者都不为空时执行以下 否则显示用户名和密码不为空
            {
                if (TextBox1.Text == "admin") //当用户名为admin 时 执行密码登录,否则显示用户名错误
                {
                    if (TextBox2.Text == "0123456") //当密码为0123456时  登录成功!否则报错
                    {
                      Response.Write("登录成功!");
                    }
                    else
                    { Response.Write("密码错误!"); }
                }
                else
                { Response.Write("用户名错误!"); }

            }
            else
            { Response.Write("用户名和密码不能为空"); }}
         
上面的代码运行后 文本框不输入内容,不提示不能为空,而直接提示用户名输入错误,为什么呢?
作者: 邓戊庚    时间: 2012-7-19 20:28
if (TextBox1.Text != null || TextBox2.Text != null)  //当两者都不为空时执行以下 否则显示用户名和密码不为空
改成
if (TextBox1.Text != "" || TextBox2.Text != "")  //当两者都不为空时执行以下 否则显示用户名和密码不为空

就可以了!
作者: 刘秋菊    时间: 2012-7-19 21:06
if (TextBox1.Text.Tostring().Trim() != "" && TextBox2.Text.Tostring().Trim() != "" )
作者: 李朋朋    时间: 2012-7-19 22:39
你可以在aspx页面文本框后面用验证控件RequiredFieldValidator,这是专门为实现这类效果而设计的,后面的属性都是直接选择的,超简单,而且效率比你在.cs里写要简单的多。具体练习你可以打开vs2008或vs2010试试。
作者: 赵鹏程    时间: 2012-7-19 22:59
本帖最后由 赵鹏程 于 2012-7-19 23:06 编辑

主要原因是Textbox.text="null",并不是代表空字符串;NULL说白了是对指针的赋值,说明了指针为空;首先你这个语句就是有问题的。对于什么是""什么是NULL你应该有所了解。比如我定义一个变量 string mm="";此时mm==""返回的是true;而textBox1定义的过程中就已经为其分配空间,并存放了"",因此textBox1.Text==NULL返回flase,textBox1.Text.Trim()==“” 返回true。





作者: 刘建素    时间: 2012-7-20 13:18
if (!string.IsNullOrEmpty(TextBox1.Text.Trim()) && !string.IsNullOrEmpty(TextBox2.Text.Trim()))
作者: 许庭洲    时间: 2012-7-20 13:31
if (TextBox1.Text != null || TextBox2.Text != null)  //修改为if ( !(TextBox1.Text = " "||TextBox2.Text = " ")  )
作者: 黑马李果    时间: 2012-7-26 14:32
本帖最后由 李过 于 2012-7-26 14:39 编辑

把||改成&&呀. 还有,文本框为空,并不表示textBox.Text==null, 而是textBox.Text==string.Empty
所以可以这样写:
if(!string.IsNullOrEmpty(textBox1.Text) && !string.IsNullOrEmpty(textBox2.Text))
如果空白符也算空的话,就用string.IsNullOrWhiteSpace
作者: 李根    时间: 2012-7-26 14:37
if (TextBox1.Text != null || TextBox2.Text != null)  改成
if ( !(TextBox1.Text = " "||TextBox2.Text = " ")  )  就好了

作者: 夏威夷海风    时间: 2012-7-26 14:47
判断文本框字符串是不是为空可以用string.IsNullOrEmpty(TextBox1.Text)来判断

验证是否为空可以用javascript来验证;
作者: 韩爽    时间: 2012-7-26 19:02
  1. protected void Button1_Click(object sender, EventArgs e)
  2. {
  3. if (TextBox1.Text = "" || TextBox2.Text = "") //当两者都为空时弹出提示
  4. {
  5. Response.Write("用户名和密码不能为空");
  6. }
  7. else if (TextBox1.Text == "admin"||TextBox2.Text == "0123456")) //当用户名为admin 时,密码为0123456是 执行登录,否则显示用户名错误
  8. {
  9. Response.Write("登录成功!");
  10. }
  11. else
  12. {
  13. Response.Write("帐号或者密码错误!"); }
  14. }



复制代码
希望可以帮到你





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2