2

首先,我实际上是一名 DBA,而不是一名网络开发人员,所以……我写的东西可能看起来很难看。我正在建立一个网站(他们问我是否会尝试 /shrug),并且我有 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
...
4

1 回答 1

1

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

如果您坚持这样做,“FindControl”方法可能会有一些用处。

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

就像是...

GridView myGV = (GridView)FindControl(myGVstr)

未经测试,但可能有效。

于 2012-05-09T20:26:32.167 回答