11

私たちのチームは、ASP.NET 1.0 で最初に開始され、.NET のすべての新しいバージョンに数回移植されたかなり大きな ASP.NET Web プロジェクトを開発しています。

ユーザー コントロール (ascx)を広く使用しました。しかし、振り返ってみると、それが良い決断だったとは思えません。これらのコントロールのごく一部は、さまざまなページで再利用 (再利用可能) されています。この複雑なレイヤーがアプリケーションに追加されるだけで、いくつかのことがより複雑になります。

再利用可能な小型の特殊なコントロールには、サーバー コントロール (WebControl クラスから継承) を使用します。

私の質問: 新しいプロジェクトを開始します。ユーザー コントロールの動的な読み込みを頻繁に行う場合を除いて (私たちは行っていません)、おそらくそうではありませんか? あなたの経験とアドバイスは何ですか?

4

4 に答える 4

17

ASCX コントロールを広範囲に使用するプロジェクトとそうでないプロジェクトがあります。私の経験では、ケースバイケースで判断する必要があります。

私が ASCX コントロールを使用する理由として、次の 2 つが気に入っています。

  1. 多くの異なるページ (または同じページに複数回) に表示される UI 機能を実装しています。
  2. いくつかの複雑な機能をカプセル化して、ページの残りの部分と区別し、コードを読みやすく保守しやすくしたいと考えています。

ASCX コントロールは便利ですが、正当な理由がある場合にのみ使用するようにする必要があります。そうしないと、コードベースに不要な複雑さが追加される可能性があります。

于 2008-11-12T09:46:52.173 に答える
6

ユーザー コントロールを正しく使用すると、メンテナンスと再利用性が向上し、多くの場合、サーバー コントロールよりも短時間で作成できます。

以前のプロジェクトでは、ユーザー コントロールのほとんどが再利用されなかったとおっしゃいました。これは、ユーザー コントロール自体に固有の欠陥というよりも、計画の不備に関連しているようです。

経験則としては、デザインを見て、同じコントロール セットを何度も使用しているかどうかを確認することをお勧めします。その場合、ユーザー コントロールを使用することは理にかなっています。

于 2008-11-12T09:49:58.737 に答える
2

私は引き続きユーザーコントロールを使用しますが、主な理由は、この方法でコンテンツをデザインから切り離すことがはるかに簡単になるためです。これは、アプリケーションのデザインを変更するときに最終的に非常に役立ちます。

また、コードをあちこちにカット アンド ペーストするよりも、ページ上でコントロールを移動するのが少し簡単になります。

于 2008-11-12T09:38:56.307 に答える
2

それは純粋に、設計されている Web アプリケーションのタイプに帰着します。作業中、私たちのアプリケーションの 1 つは非常に構成可能であるため、1 つのページ (default.aspx) で動作し、ログイン ユーザーの構成方法に応じてコントロールを読み込みます。

ただし、反対に、SEO 経由でアクセスする必要があり、簡単にナビゲートできる必要がある Web サイトを作成している場合は、aspx ページに各ビューを実装することをお勧めします。VS で開始ページとして設定することで、開発中に各ページに簡単かつ簡単にアクセスできます。

ミックスに投入する別のオプションは、ASP.net MVC を使用することです。再利用可能なユーザーコントロールを備えた相互依存ビューもミックスに投入されます:-)

于 2008-11-12T09:48:51.453 に答える