c# - C#/ASP.NET 中的控制数组类型循环

标签 c# asp.net control-array

我正在编写一个 C#/ASP.Net web 应用程序,我有大量的文本框需要在后面的代码中设置为变量值。目前我正在做以下事情:

AspTextBox0.Text = codeBehindVariable[0];
AspTextBox1.Text = codeBehindVariable[1];
AspTextBox2.Text = codeBehindVariable[2];
AspTextBox3.Text = codeBehindVariable[3];
… 

有没有一种简单的方法可以在简单的“for”循环中做到这一点?

这是一个非常简化的例子,真实的程序有一个switch case和一些其他的测试需要在变量赋值的时候执行。因此,“for”循环将大大简化代码的编写和可维护性。回到 VB6 和控制数组的美好时光,这是小菜一碟。

最佳答案

VB6 的美好时光早已一去不复返了,最好不要再回来了。

创建一个控件数组或更好的 List<TextBox>你自己:

var textBoxes = new List<TextBox> {
    AspTextBox0,
    AspTextBox1,
    // ...
};

然后 Zip 它与 codeBehindVariable :

textBoxes.Zip(codeBehindVariable, 
              (textBox, variable) => textBox.Text = variable);

或者,如果您更喜欢 for循环:

for ( int i = 0; i < codeBehindVariable.Length; i++ )
{
    textBoxes[i].Text = codeBehindVariable[i];
} 

请记住,在 for循环你必须确保textBoxescodeBehindVariable具有相同数量的项目(或使循环仅在最短列表的条目数量上运行)。 Zip函数将自行处理此问题。

关于c# - C#/ASP.NET 中的控制数组类型循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12922627/

相关文章:

c# - html选择(下拉)控件在asp.net中选择索引更改事件

vb6 - 如何在控制数组中找到最大的元素索引?

vb.net - 从 'control array?' 创建控件

c# - 如何将函数绑定(bind)到C#中控件数组中每个控件的Click事件

c# - DevExpress 设置 XtraTab 选中页面

c# - 在 SortedDictionary 中找到第一个未使用的键的快速方法?

c# - .net 消息循环

c# - NuGet 依赖项不使用 VS2013 和 AWS Elastic Beanstalk 进行复制

asp.net - IIS express 不提供 ES6 javascript 模块

asp.net - ASP.NET 网页可以有多复杂?