いつ.ascxファイルが必要になり、どのように使用しますか?


88

Webサイトを構築するとき、.ascxファイルを使用するのはいつ良い考えですか?.ascxとは正確には何で、何に使用されますか?例は大いに感謝するでしょう!

回答:


97

これは、プロジェクトにあるユーザーコントロールの拡張機能です。

ユーザーコントロールは、ASP.NET Webページのように機能する一種の複合コントロールです。既存のWebサーバーコントロールとマークアップをユーザーコントロールに追加し、コントロールのプロパティとメソッドを定義できます。次に、それらをASP.NET Webページに埋め込んで、ユニットとして機能させることができます。

簡単に言うと、プロジェクトの多くのページで使用される機能が必要な場合は、ユーザーコントロールまたはコンポジットコントロールを作成して、ページで使用する必要があります。同じ機能とコードを1か所にまとめるのに役立ちます。そしてそれはそれを再利用可能にします。


12

基本的に、アプリのさまざまな場所で同様の機能を使用する必要がある場合は、ユーザーコントロールを使用します。アプリのルックアンドフィールを一貫させるためにマスターページを使用するのと同様に、アプリ全体で同じ機能とUIを繰り返さないようにするために、ユーザーコントロールを使用します。私にももっと多くの使用法があるかもしれませんが、私はこれだけを知っています...

たとえば、サイトに4つのレベルのユーザーがいて、ユーザーごとに、異なるアクセスメカニズムを持つ異なるディレクトリの下に異なるページがあるとします。すべてのユーザーの住所情報を要求し、各ページに番地、市区町村、都道府県、郵便番号などの住所フィールドを作成するとします。それは繰り返しの仕事になるでしょう。代わりに、ascxファイル(ユーザーコントロール用のext)として作成し、このコントロールに、アドレスの役割を追加/更新/削除/選択するために必要なUIとビジネスコードを配置し、必要なすべてのページを参照するだけです。

したがって、ユーザーコントロールを考えると、各ロールのコードの繰り返しと各ロールのUIの作成を回避できます。



3

複数のページに表示され、そのページから独立しているコード+ htmlのブロック(最新のニュースアイテムのブロックなど)がある場合、コードをすべてのページにコピーして貼り付けることができます。

ただし、そのコードを独自のブロックに配置し、それを必要とするすべてのページにそのブロックを含めることをお勧めします。その「ブロック」はascxファイルです。


1

ASCXファイルは、動的なWebページを生成するWeb開発用に設計されたサーバーサイドWebアプリケーションフレームワークです。DLLコードが好きですが、TAGSを使用 できます。一度記述すれば、ASPページの任意の場所で使用できます。ファイルがある場合「Controll.ascx」という名前の場合、そのコードは「Controll.ascx.cs」という名前になります。ASPページに埋め込んで使用できます。


1

.ascxファイルのもう1つの用途は、ASP.NETページでの部分ページキャッシュに使用できることです。ascxファイルを作成してから、キャッシュする必要のあるコントロールまたはページの一部をそのコントロールに移動する必要があります。次に、@ OutputCacheディレクティブをascxコントロールに追加すると、親ページとは別にキャッシュされます。これは、ページ全体をキャッシュするのではなく、ページの特定の部分のみをキャッシュする場合に使用されます。


-2

Webコントロールを使用して基本的なasp.netWebサイトを構築している場合、Webサイトの複数の場所でコントロールを使用できるようにすることをお勧めします。レイアウトからコードを分離するascxファイルは、レイアウトを表示するために使用されるコントロールを保持し、ascxファイルに属するcsファイルは、それらのコントロールを満たすコードを保持します。

ユーザーコントロールの基本的な理解については、このWebサイトを試すことができます


1
いいえ、コードビハインドモデルでは、aspxまたはascxファイルに加えてaspx.csまたはascx.cs(またはaspx.vbおよびascx.vb)を取得します。ascxを使用せずに、aspx(およびaspx.cs)ページのみを含むサイトを作成できます。
ハンス・ケ

2
彼はcxとcsと混同されたようです
Shekhar_Pro 2011年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.