基于变量动态创建控件

本文关键字:动态 创建 控件 变量 于变量 | 更新日期: 2023-09-27 18:33:36

首先,我实际上是一名DBA,而不是Web开发人员,所以...我写的东西可能会看起来很丑。我正在建立一个网站(他们问我是否会尝试/耸耸肩(,我有 168 个复选框,选中时具有相同的操作。但是,这些操作虽然相同,但在不同的控件(与复选框相关(上执行。除了有一个包含 168 个条件的 switch 语句,我可以执行以下操作吗?

CheckBox myCB = (CheckBox)(sender);
String mySTR = myCB.ID.ToString();
String myGVstr = “gv” + mySTR.Substring(mySTR.IndexOf(‘cb’) + 1);
String myBTNstr = “btn” + mySTR.Substring(mySTR.IndexOf(‘cb’) + 1);
GridView myGV = myGVstr;
Button myBTN = myBTNstr;
// Do what I need to do with these controls
...

基于变量动态创建控件

这似乎真的不是一件合理的事情。 也许在加载时,您可以将所有控件放入一个大数组中? 将每个控件放入数组需要 1 大段代码,但之后您可以以类似(更可靠(的方式访问它们。

如果您坚持这样做,"FindControl"方法可能会有所用处。

http://msdn.microsoft.com/en-us/library/486wc64h.aspx

像...

GridView myGV = (GridView)FindControl(myGVstr)

未经测试,但可能有效。