2

まず、私は実際にはDBAであり、Web開発者ではないので、私が書いたものはおそらく醜いものに見えるでしょう。私はウェブサイトを構築しています(彼らは私が/ 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

これは本当にもっともらしいことのようには思えません。たぶん、ロード時にすべてのコントロールを大きな配列に配置できますか?各コントロールを配列に配置するには、コードの1つの大きなセクションが必要ですが、その後、同様の(より信頼性の高い)方法でそれらにアクセスできます。

この方法でそれを行うことを主張する場合は、「FindControl」メソッドが役立つ可能性があります。

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

何かのようなもの...

GridView myGV = (GridView)FindControl(myGVstr)

テストされていませんが、動作する可能性があります。

于 2012-05-09T20:26:32.167 に答える