假设您可能会得到多个结果。我建议使用List来存储所有结果。这样,您可以在函数完成后访问 List 并使用它来访问所有值。
List<String> results = new List<String>;
if (ctrl is Control)
{
Control c = (Control)ctrl;
foreach (object innerCtrl in c.Controls)
{
if (innerCtrl is System.Web.UI.WebControls.CheckBox)
if (((CheckBox)innerCtrl).Checked == true)
{
string resultado = (((CheckBox)innerCtrl).Text);
if (!String.IsNullOrEmpty(resultado))
results.Add(resultado);
}
else
{
TextBox1.Text = "não";
}
}
}
if (results.Count > 0)
{
// We got results. Do something with our results.
foreach (var result in results)
{
Console.Write(results);
}
}
我建议您将代码移动到它自己的函数中。通常我更喜欢让我的函数只做一件事以保持简单,但首先你可以把它变成这样的东西。
public List<String> FetchTextFromCheckBoxes(Control cntrl)
{
List<String> results = new List<String>();
if (ctrl is Control)
{
Control c = (Control)ctrl;
foreach (object innerCtrl in c.Controls)
{
if (innerCtrl is System.Web.UI.WebControls.CheckBox)
if (((CheckBox)innerCtrl).Checked == true)
{
string resultado = (((CheckBox)innerCtrl).Text);
if (!String.IsNullOrEmpty(resultado))
results.Add(resultado);
}
else
{
TextBox1.Text = "não";
}
}
}
return results;
}
然后,您只需在应用程序的主要部分中像这样使用它。
List<String> results = FetchTextFromCheckBoxes(ctrl);
if (results.Count > 0)
{
// We got results. Do something with our results.
foreach (var result in results)
{
Console.Write(results);
}
}