3

真に理解しているVIEWSTATEを読んで、著者は次のように提案しています。

ASP.NETがフォームを解析し、runat = serverのタグを見つけると、指定されたコントロールのインスタンスを作成します。インスタンスに割り当てる変数名は、割り当てたIDに基づいています(ちなみに、多くの場合、コントロールにIDを指定する必要がないことに気づいていません。ASP.NETは、自動生成されたIDを使用します。 。IDを指定しないことには利点がありますが、それは別の主題です)。

コントロールIDを指定しないことでどのような利点が得られますか?私のクイック検索では何も見つかりませんでした。助けてくれてありがとう。

4

1 に答える 1

1

コントロールIDを指定しないと、コントロールにアクセスしてコードビハインドファイルで変更することができないため、ページ上で一定のコントロールのように見えます。これが利点かどうかはわかりません。私はそれをめったに使用されないオプションとして見ています。

私が考えることができる唯一の利点は、変更したくない画像がたくさんあるが、asp.netに画像パスを処理させるのが好きな場合です。その場合、コントロールIDを指定しないことをお勧めします。

マークアップが解析されると、に設定されていないコントロールはrunat="server"通常のテキストとして扱われText、リテラルコントロールのプロパティに割り当てられます。したがって、それらのIDはページに表示されません。データを投稿する他のコントロールでは、IDを含めない場合、コントロールは通常、名前のみでレンダリングされます(IDではありません)。

また、コントロールIDのないコントロールは、コントロールとともにテーブルに登録されません。また、コントロールの検索は、小さいテーブルでより高速になる場合があります。

于 2012-01-22T01:49:00.697 に答える