• ベストアンサー

サーバーコントロールについて

asp.net 超初心者です。 サーバーコントロールについてなのですが、例えば: <asp:Table ID="Table1" runat="server"> と普通のHTMLの<table>の違いは何なのでしょうか? 自分が思うに、おそらく、サーバーコントロールの方は、 サーバー側で生成され、普通のHTMLの方はクライアント側で 生成され・・・みたいな感じだと思うのですが、、、 サーバーコントロールでしか使えないようなものならともかく、 HTMLでも記述できるものをわざわざサーバーコントロールで 記述する理由は何ですか? また、サーバーコントロールを多用することで、サーバーに負担を かける、ということはないのでしょうか? ご回答、宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • Yeti21
  • ベストアンサー率47% (396/830)
回答No.1

例えば、存在するデータなどによってテーブルの構成が複雑な場合、 htmlのtableでもできないことは無いですが、記述が結構大変だったりします。 tableクラスを使用すると比較的簡単に記述できるというのがメリットじゃないかと思います。 コントロールなのでメソッドやプロパティで簡単に設定できるのが便利です。 つまり、プログラム的に扱いやすいということです。 負荷に関しては、それほど気にすることは無いと思います。

iwaiwaiwa
質問者

補足

ご回答ありがとうございます。 もう少し、疑問があるので、質問させてください。 確かにご指摘の通り、サーバーコントロールの方が HTMLで記述した時よりもXHTML 1.0の文法などを意識しなくても 良いような気がします。 でも、これだと、asp.netが入っている環境でのみしか 利用できないんですね。例えば、特定のページだけHTML で作成するという時に、VSだとDreamweaver等よりもかなり 非効率になってしまうのですね。 こういう部分というのは割り切ってしまって良いものでしょうか? asp.netで作ったものを、将来的に他の環境に対応させる時 (そういう必要が生じるかは別として)作り直しになってしまうの では?と思うのですが。 お手数ですが、ご意見お願いします。

すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.3

ASP.NET 用のサーバ コントロールをあえて使う場面なのであれば、そのページは ASP.NET に特化したページでしょうから、他のサーバ システムに乗り換える話はナンセンスかと。 同じ話は PHP など別の Web アプリ環境でも言えます。 サーバ コントロールを使わなくても済むのにサーバ コントロールを使うのは何故なのか? という意味でしたら、「サーバ コントロールを何故使うのかと何故聞くのか?」と逆に質問したいです。 HTML コントロールを使えばいいし、*.aspx ファイルじゃなくて *.html ファイルを作成すれば良いのでは? Visual Studio は単純な HTML のエディタとしても十分に使用可能です。

すると、全ての回答が全文表示されます。
  • Yeti21
  • ベストアンサー率47% (396/830)
回答No.2

ちょっと観点が違うようです。 ASP.NETが環境の前提であっても何ら問題にはなりません。 企業サイトのWebシステムというのはそういうものです。 まず、環境ありきで、その環境に応じて開発することが多いです。 もし、ASP.NETではない環境に移行するのであれば、仰る通り全部作り直しと いうわけですが、そこに躊躇はありません。 (もっと重要な企業戦略が根底にあります) もちろん、その環境を選択するまでには紆余曲折が有ることもあります。 今(もちろん多少の将来も考慮に入れますが)どういう環境でシステムを 開発するのが目的を達成するのに効果的かが最も重要になってきますね。

すると、全ての回答が全文表示されます。

関連するQ&A