私は常に、ASP.NET タグと HTML タグを混在させることができ、HTML タグには存在するかどうかのオプションがあることを理解するために、それ以上のものがあると信じてきましたrunat="server"
。タグをそのままにしても害はなく、削除するとコンパイラ エラーが発生します。Web 言語について暗示する内容が多ければ多いほど、初心者のプログラマーが Web 言語を習得するのは容易ではなくなります。これは、タグ属性について詳しく説明するのと同じくらい良い理由です。
この会話は、Mike Schinkel のブログで、彼自身と Microsoft National Services の Talbot Crowell の間で行われました。関連情報は以下のとおりです (ソースの文法上の誤りにより、最初の段落は言い換えられています)。
[...]しかし、の重要性<runat="server">
は、一貫性と拡張性の方が重要です。
開発者が<asp: />
、ASP.NET エンジンが無視するタグ (つまり ) をマークする必要がある場合、タグ間の名前空間の衝突や将来の機能強化の問題が発生する可能性もあります。属性を要求する<runat="server">
ことで、これは無効になります。
それは続く:
<runat=client>
すべてのクライアント側タグに必要な場合、パーサーはすべてのタグを解析してその<runat=client>
部分を取り除く必要があります。
彼は続けます:
現在、私の推測が正しければ、パーサーは属性を持つタグ
runat=server
または「<code><%」プレフィックスまたは ssi「<code><!– #include… (...)
また、ASP.NET は Web デザイナー (foo.aspx) を Web 開発者 (foo.aspx.vb) から分離できるように設計されているため、Web デザイナーは独自の Web デザイナー ツールを使用して HTML を配置できます。 ASP.NET 固有のタグや属性について知らなくても、クライアント側の JavaScript を使用できます。