Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.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/visual-studio-2008/2.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#_Asp.net - Fatal编程技术网

C# 如何包含非空文本框中的值?

C# 如何包含非空文本框中的值?,c#,asp.net,C#,Asp.net,我有一个从文本框中获取值并将其插入数据库的方法。 如何仅从输入了文本的文本框中解析值 例如,如果文本框4、5和6为空,则我不希望将它们解析为insert方法 这是我写的将一个答案插入数据库的内容。如何将其修改为只包含那些不为空的文本框 <div id="answer_wrapper"> <div class="answer"> <h3 class="new">Answer 1</h3

我有一个从文本框中获取值并将其插入数据库的方法。 如何仅从输入了文本的文本框中解析值

例如,如果文本框4、5和6为空,则我不希望将它们解析为insert方法

这是我写的将一个答案插入数据库的内容。如何将其修改为只包含那些不为空的文本框

<div id="answer_wrapper">
                <div class="answer">
                    <h3 class="new">Answer 1</h3>
                    <asp:TextBox ID="AnswerBox1" runat="server" CssClass="form" Width="300px"></asp:TextBox>
                </div> <!-- end answer -->
                <div class="answer">
                    <h3 class="new">Answer 2</h3>
                    <asp:TextBox ID="AnswerBox2" runat="server" CssClass="form" Width="300px"></asp:TextBox>
                </div> <!-- end answer -->
                <div class="answer">
                    <h3 class="new">Answer 3</h3>
                    <asp:TextBox ID="AnswerBox3" runat="server" CssClass="form" Width="300px"></asp:TextBox>
                </div> <!-- end answer -->
                <div class="answer">
                    <h3 class="new">Answer 4</h3>
                    <asp:TextBox ID="AnswerBox4" runat="server" CssClass="form" Width="300px"></asp:TextBox>
                </div> <!-- end answer -->
                <div class="answer">
                    <h3 class="new">Answer 5</h3>
                    <asp:TextBox ID="AnswerBox5" runat="server" CssClass="form" Width="300px"></asp:TextBox>
                </div> <!-- end answer -->
                <div class="answer">
                    <h3 class="new">Answer 6</h3>
                    <asp:TextBox ID="AnswerBox6" runat="server" CssClass="form" Width="300px"></asp:TextBox>
                </div> <!-- end answer -->

从技术上讲,
TextBox.Text
属性永远不会为
null
。如果表单中没有值,则它将是
string.Empty

您可以使用以下方法测试空字符串:

if (!string.IsNullOrEmpty(AnswerBox1.Text))
    int answerId = SendData.InsertAnswer(AnswerBox1.Text, questionId, QuestionnaireId);

请注意,我不完全确定您的总体目标是什么。也许我错过了什么。听起来像是在问如何检查每个
文本框
中是否有空值,以及如何对具有非空值的文本框执行插入。所以我想你会做类似于上面几次的事情。还有其他方法,可以将其全部封装在助手方法中,等等。但一般来说,您只是测试“根据业务规则不可插入”值。

从技术上讲,
TextBox.Text
属性永远不会为
null
。如果表单中没有值,则它将是
string.Empty

您可以使用以下方法测试空字符串:

if (!string.IsNullOrEmpty(AnswerBox1.Text))
    int answerId = SendData.InsertAnswer(AnswerBox1.Text, questionId, QuestionnaireId);

请注意,我不完全确定您的总体目标是什么。也许我错过了什么。听起来像是在问如何检查每个
文本框
中是否有空值,以及如何对具有非空值的文本框执行插入。所以我想你会做类似于上面几次的事情。还有其他方法可以实现这一点,您可以将其全部封装在助手方法中,等等。但通常您只是测试“根据业务规则不可插入”值。

请注意,
textbox.Text
属性值永远不会为空。我猜想string.Empty(甚至只是空白)是您真正想要避免的。如果我正确理解您的问题,您可以使用string.IsNullOrEmpty(AnswerBox4.text)测试文本框.text-value属性,并确定您遇到了什么问题或错误。。?如果不检查参数值,则还需要将DBNull赋值作为参数值的一部分。。还要将myCommand.Parameters更改为myCommand.Parameters.AddWithValues请注意,
textbox.Text
属性值永远不会为空。我猜想string.Empty(甚至只是空白)是您真正想要避免的。如果我正确理解您的问题,您可以使用string.IsNullOrEmpty(AnswerBox4.text)测试文本框.text-value属性,并确定您遇到了什么问题或错误。。?如果不检查参数值,则还需要将DBNull赋值作为参数值的一部分。。同时将myCommand.Parameters更改为myCommand.Parameters.AddWithValue谢谢。我用过这个,现在可以用了。我能把代码浓缩一下吗?因为它看起来有点臃肿。还是我太挑剔了?@鲁伯特:很可能。您可以识别模式并相应地重新考虑。它并不是真的很挑剔,它只是想保持代码干净和富有表现力(这始终是一个值得追求的目标)。我会推迟重新分解,直到功能实现,以防您需要在过程中更改任何其他内容。你可以试着帮我清理一下。(但先看看他们的FAQ,我不是专家,我不知道他们对这个话题的看法。)谢谢。我用过这个,现在可以用了。我能把代码浓缩一下吗?因为它看起来有点臃肿。还是我太挑剔了?@鲁伯特:很可能。您可以识别模式并相应地重新考虑。它并不是真的很挑剔,它只是想保持代码干净和富有表现力(这始终是一个值得追求的目标)。我会推迟重新分解,直到功能实现,以防您需要在过程中更改任何其他内容。你可以试着帮我清理一下。(但先看看他们的常见问题,我对这个话题的看法不是专家。)