Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在文本框中检查C代码背后的值#_C#_Asp.net - Fatal编程技术网

C# 在文本框中检查C代码背后的值#

C# 在文本框中检查C代码背后的值#,c#,asp.net,C#,Asp.net,我对我代码中的某些东西感到困惑,希望有人能在这里给我提供线索 在我将数据写入记录之前,我试图检查我的用户是否已填充文本框,因此我使用下面的代码检查文本框是否已填充。但是这个“总是”返回为真,并且继续进行,就好像用户已经将文本放置在了中,即使没有文本 if (ReasonTextBox.Text.ToString() != null) { //Some commands to write data to a table } else { //Some alte

我对我代码中的某些东西感到困惑,希望有人能在这里给我提供线索

在我将数据写入记录之前,我试图检查我的用户是否已填充文本框,因此我使用下面的代码检查文本框是否已填充。但是这个“总是”返回为真,并且继续进行,就好像用户已经将文本放置在了中,即使没有文本

if (ReasonTextBox.Text.ToString() != null)
   {
    //Some commands to write data to a table
   }
 else
   {
     //Some alternative things to do
   }
我也在没有“.ToString()”的情况下完成了这项工作,并获得了相同的结果。正如我在debug中观察到的,无论文本框中是否有文本,代码都将进入过程


哦哦。。。因为我对用C语言编写网站还相当陌生,所以我肯定遗漏了一些东西,很明显,一个空白的文本框并不是真的空的?如果是这种情况,您建议我如何检查它是否被填充?

属性
Text
不是空的,它包含一个空字符串

请尝试:

if (!string.IsNullOrWhiteSpace(ReasonTextBox.Text)) {
    // do something
}

如果
Text
为null,则在调用
ToString()
方法时,您会得到
NullReferenceException

TextBox
Text
属性是一个
字符串,afaik永远不会
null
。(否则,在调用
ToString()
时,您将得到一个
NullReferenceException

ToString()
的调用已过时,因为
Text
已经是
字符串

您不想检查
Text
是否为
null
,但如果为空:

或者,如果仅包含空格的字符串也是错误的输入:

if (!string.IsNullOrWhiteSpace(ReasonTextBox.Text))

好吧,在开始之前就结束吧。对于遇到这个问题的人,让我解释一下我发现的背景以及我是如何解决这个问题的


除了asp:TextBox之外,我还在TextBox顶部使用了一个ajaxToolkit:HtmlEditorExtender。现在我不确定,也没有时间回去验证,但我高度怀疑问题是扩展器在文本框中添加了我发现的
。当然,
在呈现的页面中是看不见的,直到我构建存储过程来解决这个问题,并将数据写入表中,看到
(我假设为空白或空)我才意识到发生了什么。因此,我所做的只是在这之后写下一个二次检查,检查文本框中的
值,如果“只有一个
”,则避免写。这解决了问题。有点像HP计算器解决方案,但效果很好

尝试使用类似于
if(string.IsNullOrEmpty(string))
if (!string.IsNullOrWhiteSpace(ReasonTextBox.Text))