我只是在文本框为空时才尝试显示空值。在我的情况下,即使我在文本框中输入,它也不会检测为空值。请帮我解决我的错误。
protected void AnyTextBox_TextChanged(object sender, EventArgs e)
{
if ((string.IsNullOrEmpty(TextBox1.Text)))
{
TBResult1.Text = "N/A";
}
else
{
TBResult1.Text = TextBox1.ToString();
}
<asp:TextBox ID="TextBox1" OnTextChanged="AnyTextBox_TextChanged" AutoPostBack="true" runat="server"></asp:TextBox>
<asp:TextBox ID="TBResult1" OnTextChanged="AnyTextBox_TextChanged" AutoPostBack="true" runat="server"></asp:TextBox>
答案 0 :(得分:2)
来自文档:
String.IsNullOrEmpty
Method 指示指定的字符串是null还是空字符串。
string s1 = "abcd"; // is neither null nor empty.
string s2 = ""; // is null or empty
string s3 = null; // is null or empty
string.IsNullOrWhiteSpace(s1); // returns false
string.IsNullOrWhiteSpace(s2); // returns true
string.IsNullOrWhiteSpace(s3); // returns true
另外,你可以这样做:
if (string.IsNullOrEmpty(s1)) {
Message.Show("The string s1 is null or empty.");
}
if ((string.IsNullOrEmpty(TextBox1.Text)))
{
// The TextBox1 does NOT contain text
TBResult1.Text = "N/A";
}
else
{
// The TextBox1 DOES contain text
// TBResult1.Text = TextBox1.ToString();
// Use .Text instead of ToString();
TBResult1.Text = TextBox1.Text;
}
答案 1 :(得分:1)
替换
TBResult1.Text = TextBox1.ToString();
与
TBResult1.Text = TextBox1.Text;
答案 2 :(得分:0)
试试这个:
if(string.IsNullOrWhiteSpace(this.textBox1.Text))
{
MessageBox.Show("TextBox is empty");
}
答案 3 :(得分:0)
应该是这样的,你在else部分错过了 TextBox1.Text
protected void AnyTextBox_TextChanged(object sender, EventArgs e)
{
if ((string.IsNullOrEmpty(TextBox1.Text)))
{
TBResult1.Text = "N/A";
}
else
{
TBResult1.Text = TextBox1.Text.ToString();
}
}
答案 4 :(得分:0)
检查你这样的条件。我使用这个,它工作正常。
if(TextBox1.Text.Trim().Length > 0)
{
//Perform your logic here
}
否则你必须检查这两个功能
if (string.IsNullOrEmpty(TextBox1.Text.Trim()) || string.IsNullOrWhiteSpace(TextBox1.Text.Trim()))
{
}