2

のコントロールの種類をどのように判断できますRequest.Formか?

 foreach (string x in Request.Form.Keys)
 {                                
    if (Request.Form[x] == null || Request.Form[x].ToString() == "")
    {....

ループごとに、コントロールの種類を知りたいです。

テキストボックス、リストボックス、隠しフィールドなどですか...

これはどのように行うことができますか?

4

2 に答える 2

1

まれに、厳密に型指定されたコントロール オブジェクトではなく、Request コレクションを手動で操作した方が便利な場合があります。ただし、すべてのコントロールを反復処理することは、ほとんどの場合、おそらく悪い考えです。

Request コレクションのキーを使用して再帰 を実行できます。null を返さないFindControl()場合は、コントロールのタイプを確認してください。FindControl

送信されたキーは、コントロールの実際の ID とは異なることに注意してください。通常は次のようになります。

<input type="text" name="foo$bar$txtFirstName" id="foo_bar_txtFirstName" />

「name」は Request コレクションの実際のキーですが、「id」はコントロールの ID です。これには、さらに別のマッピング手順が必要です。

于 2012-04-24T21:01:22.570 に答える
0

これは不可能です。ブラウザはこの情報を送信しません。HTTP標準には、この情報を本質的に送信する方法が含まれていません。

于 2012-04-24T21:01:47.317 に答える