0

フォームを送信するときに、for ループを使用してオプションの値を取得したいのですが、このコードを使用して、このモジュールを正常に機能させるにはどうすればよいですか?

        for (int j = 0; j < i; j++)
        {
            String gender = Request.Form['"Option"+i'].ToString();
            Response.Write(gender);
        }
4

3 に答える 3

4

私はあなたがただ欲しいと思う:

String gender = Request.Form["Option" + i].ToString();

それがインデクサーの引数であるという事実は、ここでは関係ありません。それはちょうどこのようなものです:

int x = 5;
String y = "Option" + x; // Now y is "Option5"

ただし、ループを見ると、おそらく実際には次のj代わりに使用したいでしょう。i

for (int j = 0; j < i; j++)

の値はi、ループの過程で変化しません。

于 2013-04-25T18:28:39.067 に答える
2

これを試して

String gender = Request.Form["Option" + j].ToString();
于 2013-04-25T18:28:44.837 に答える
1

あなたはこれを行うことができます

for (int j = 0; j < i; j++)
{
    string key = string.Format("Option{0}", i);
    string gender = Request.Form[key].ToString();
    Response.Write(gender);
}

ただし、forループの記述方法が原因で、同じフォーム フィールドのi時間を出力するだけです。おそらく次のようなものが必要です。

for (int j = 0; j < totalFields; j++)
{
    string key = string.Format("Option{0}", j);
    string gender = Request.Form[key].ToString();
    Response.Write(gender);
}
于 2013-04-25T18:28:45.837 に答える