Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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# 如何将不为null的表单对象作为收据返回?_C#_Asp.net_Webforms - Fatal编程技术网

C# 如何将不为null的表单对象作为收据返回?

C# 如何将不为null的表单对象作为收据返回?,c#,asp.net,webforms,C#,Asp.net,Webforms,我有一个web应用程序,它将大约50个或更多字段拆分为几个面板,我在asp:wizard中跨几个步骤使用它们。在表单的末尾,我想根据用户的要求创建一个“这是您要求的Label1.text…”,而无需重新创建多个标签,也无需手动将每个框的文本绑定到标签上。下面是我尝试调用的文本框列表,这些文本框在表单中不为null,但由于感叹号,它抛出了一个异常 var requested = this.Controls.OfType<TextBox>()

我有一个web应用程序,它将大约50个或更多字段拆分为几个面板,我在
asp:wizard
中跨几个步骤使用它们。在表单的末尾,我想根据用户的要求创建一个“这是您要求的Label1.text…”,而无需重新创建多个标签,也无需手动将每个框的文本绑定到标签上。下面是我尝试调用的文本框列表,这些文本框在表单中不为null,但由于感叹号,它抛出了一个异常

var requested = this.Controls.OfType<TextBox>()
                          .Where(txt => string.!IsNullOrWhiteSpace(txt.Text));

    foreach (var textBox in requested)
    {
        Response.Write(requested);
    }
var requested=this.Controls.OfType()
.Where(txt=>string.!IsNullOrWhiteSpace(txt.Text));
foreach(请求中的var文本框)
{
答复.书面(请求);
}

您需要使用
!string.IsNullOrWhiteSpace(txt.Text)
而不是
string。!IsNullOrWhiteSpace(txt.Text)


string。!IsNullOrWhiteSpace(txt.Text)
是无效的语法,因此您会遇到编译错误

您需要使用
!string.IsNullOrWhiteSpace(txt.Text)
而不是
string。!IsNullOrWhiteSpace(txt.Text)


string。!IsNullOrWhiteSpace(txt.Text)
是一个无效语法,因此出现编译错误

这是因为这是无效语法-您要调用
字符串。IsNullOrWhiteSpace
并反转结果:

.Where(txt => !string.IsNullOrWhiteSpace(txt.Text))
目前您已经获得了
在方法调用的中间,这是错误的。


(请注意,当前您正试图写出文本框本身-我怀疑您不想这样做。但当您通过语法错误时,您会发现这一点。)

这是因为这是无效语法-您希望调用
字符串。IsNullOrWhiteSpace
并反转结果:

.Where(txt => !string.IsNullOrWhiteSpace(txt.Text))
目前您已经获得了
在方法调用的中间,这是错误的。


(请注意,目前您正试图写出文本框本身-我怀疑您不想这样做。但当您通过语法错误时,您会发现这一点。)

您的思路是正确的。我不使用Response.Write(这可能会变得混乱),而是使用一个标签控件。让我们调用lblResult

var sb = new StringBuilder();
foreach (var textBox in requested)
{
    sb.Append(textBox.Text); //Add the text not the textbox
    sb.Append("</br>"); //Add a line break to make it look pretty
}
lblResult.Text = sb.ToString();

你在正确的轨道上。我不使用Response.Write(这可能会变得混乱),而是使用一个标签控件。让我们调用lblResult

var sb = new StringBuilder();
foreach (var textBox in requested)
{
    sb.Append(textBox.Text); //Add the text not the textbox
    sb.Append("</br>"); //Add a line break to make it look pretty
}
lblResult.Text = sb.ToString();

但这将返回空的…我想返回不是空的empty@Skullomania,
!string.IsNullOrWhiteSpace(txt.Text)
将返回非空的字符串,但将返回空的字符串……我想返回非空的字符串empty@Skullomania,
!string.IsNullOrWhiteSpace(txt.Text)
将返回不为空的字符串。您有
sb.Append(textbox.Text)
然后一个用于换行符…我会在那里列出表单上的所有文本框吗?循环正在迭代您构建并调用“request”的Linq查询。我想我看到了您所做的操作…您忘记了大写另一个“B”在
sb.Append
中,我去年才开始编写C#webforms脚本。谢谢你的帮助,没有这个网站我将是一只迷路的小狗!您有
sb.Append(textbox.Text)
然后一个用于换行符…我会在表单上列出所有的文本框吗?循环正在迭代您构建并调用'request'的Linq查询,我想我看到了您所做的事情…您忘了将另一个“B”大写在
sb.Append
中,我去年才开始编写C#webforms脚本。谢谢你的帮助,没有这个网站我将是一只迷路的小狗!