【发布时间】:2011-12-28 04:51:08
【问题描述】:
现在下面的代码测试一个空白文本框。如果为空,则返回 if 语句下方所述的错误。这很好用,但我也希望它检查空格。我尝试了以下第一个:
if (String.IsNullOrWhiteSpace(txtFirstName.Text))
但它不起作用。我在文本框中输入了单词“Bike”,但我将其拼写为“Bike”,并带有一个空格,以查看它是否会返回错误消息,但它没有。
public partial class frmPersonnel : System.Web.UI.Page
{
protected void btnSubmit_Click(object sender, EventArgs e)
{
//lblError.Text = "";
try
{
if (txtFirstName.Text == "")
{
txtFirstName.BackColor = System.Drawing.Color.Yellow;
lblError.Text += "Please enter first name<br />";
}
if (txtLastName.Text == "")
{
txtLastName.BackColor = System.Drawing.Color.Yellow;
lblError.Text += "Please enter last name! <br />";
}
if (txtPayRate.Text == "")
{
txtPayRate.BackColor = System.Drawing.Color.Yellow;
lblError.Text += "Please enter pay rate! <br />";
}
if (txtStartDate.Text == "")
{
txtStartDate.BackColor = System.Drawing.Color.Yellow;
lblError.Text += "Please enter start date! <br />";
}
if (txtEndDate.Text == "")
{
txtEndDate.BackColor = System.Drawing.Color.Yellow;
lblError.Text += "Please enter end date! <br />";
}
DateTime dt1;
DateTime dt2;
dt1 = DateTime.Parse(txtStartDate.Text);
dt2 = DateTime.Parse(txtEndDate.Text);
if (DateTime.Compare(dt1, dt2) > 0)
{
txtStartDate.BackColor = System.Drawing.Color.Yellow;
txtEndDate.BackColor = System.Drawing.Color.Yellow;
lblError.Text += "Start Date must not be greater than End Date! <br />";
}
else
{
Session["txtFirstName"] = txtFirstName.Text;
Session["txtLastName"] = txtLastName.Text;
Session["txtPayRate"] = txtPayRate.Text;
Session["txtStartDate"] = txtStartDate.Text;
Session["txtEndDate"] = txtEndDate.Text;
Server.Transfer("frmPersonalVerified.aspx");
}
}
catch (Exception)
{
}
}
}
【问题讨论】:
-
string.IsNullOrWhiteSpace不会表示字符串有空格。它将指示字符串仅由空格组成。B ike不是空值或空格。这是一个带有空格的字符串。 -
是否有问题隐藏在某处?
标签: c#