ybs123
2023-05-09 10:05:36 +08:00
你可以使用一个列表来保存你的结构体,这样就可以根据页面数据的数量动态创建结构体了。在循环中,你可以使用循环变量来拼接控件名称,并使用 FindControl 方法来获取控件对象,然后根据需要对结构体进行赋值。
示例代码如下:
```
int n = 4; // 页面数据的数量
List<jiegouti> jgtList = new List<jiegouti>(); // 声明一个列表来保存结构体
// 循环创建结构体并给字段赋值
for (int i = 1; i <= n; i++)
{
jiegouti jgt = new jiegouti();
jgt.data_bj = ((TextBox)FindControl("txbox_bj" + i.ToString())).Text;
jgt.data_bx = ((TextBox)FindControl("txbox_bx" + i.ToString())).Text;
jgt.data_tx = ((TextBox)FindControl("txbox_tx" + i.ToString())).Text;
jgt.data_ty = ((TextBox)FindControl("txbox_ty" + i.ToString())).Text;
jgtList.Add(jgt); // 将结构体添加到列表中
}
```
在循环中,我们使用了 FindControl 方法来查找页面上的控件。该方法会返回一个控件对象,因此我们不需要再使用索引 0 来获取控件对象,然后再将其转换为 TextBox 来获取其值。
我们将每个结构体对象添加到列表中,这样列表中就包含了全部的结构体对象。你可以通过遍历这个列表来获取每个结构体对象及其包含的字段值。