2010-12-21 84 views
0

ASP.NETの私の大きな牛肉の1つは、プレフィックスIDの過剰量を超えてページのコントロールを整理することが難しいことです。私はこれを軽減しようとするために過去に大きく複雑になってきましたが、実装が簡単なソリューションがほしいと思います。だから、私は疑問に思っています:ASPXコードビハインドで一回限りのユーザーコントロールを定義することはできますか?

.aspxのコードビハインドでユーザーコントロールを定義してから、それを.aspxで使用できますか?私はおそらくそうではないと思っています...私はそれを働かせることはできません。

+0

はおそらく、あなたは単に「ASCX」ユーザーコントロールに見てみたいですか? –

+0

私はすでにそれらのことを知っていた、私はちょうどそこに自己完結している可能性がある別の方法があるのだろうかと思っていた。しかし、同時に、複雑なページをすべて1つのファイルに保存することは、最大のアイデアではないかもしれません。私は、パブリックなusercontrolsを使用してそれらを使用するページと同じ名前空間の中に置くだけで済むと思います。 – Taudris

答えて

1

いいえ。ユーザーコントロールを独自の.ascxファイルに作成する必要があります。

Webコントロールを作成したい場合は、必要な.cs/.vbファイルでWebコントロールを定義できます。あなたの同僚があなたのコードを見つけることができるように、私はそれがそれ自身のファイルであることを提案するかもしれません。

注: "プレフィックスIDの過剰量を超えてページのコントロールを整理するのは難しい"という妥当性については疑問に思うでしょう。これは、テンプレートコントロール(リピーター、データリストなど)のためのものです。彼らはINamingContainerを実装するので、同じ名前で異なるスコープのコントロールに名前を付けることができます。良い情報がありますhere ...

0

既存のASP.NETユーザーコントロールが定義されている必要があり、動的に読み込むことができます。それはあなたが持っているユーザーコントロールを持つダイナミックな機能と同じくらいです。カスタムコントロールを活用することもできます。これにより、実際にレンダリングされたUIを完全に制御できます。ただし、完全なIDを表示しないと、実行しようとしていることに応じて、クライアント/サーバーの統合に関する後続の問題が発生する可能性があります。

また、IDをカスタマイズするには、ASP.NET 4.0のClientIDModeプロパティを活用することができますhttp://msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode.aspx

関連する問題