首先,我实际上是一名DBA而不是网络开发人员,所以...我写的内容可能看起来很难看。我正在建立一个网站(他们问我是否尝试/耸肩)并且我有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
...
答案 0 :(得分:1)
这看起来似乎不太合理。也许在加载时你可以将所有控件放入一个大型数组中?将每个控件放入数组需要1个大部分代码,但之后您可以以类似(更可靠)的方式访问它们。
如果你坚持这样做,'FindControl'方法可能会有用。
http://msdn.microsoft.com/en-us/library/486wc64h.aspx
像...一样的东西。
GridView myGV = (GridView)FindControl(myGVstr)
未经测试,但可能有效。