2

具体的には、VS2005とは異なるVisual Studio 2008でこれを行うために何を知っておく必要がありますか?私はVS2005でのこの種のものを行うための参照のまともな数、などVS2008の内蔵アセンブリにユーザーコントロールを作成するにはどうすればよいですか?

それでも、Microsoftのリファレンスdoesnのを発見しましたVS2008について多くのことを言っているようだ。 この質問は、私が先に尋ねたもの、つまりfound hereに由来しています。

これらのアセンブリ(おそらくDLL)のいずれかをビルドすると、他の誰かが(1つのページまたは多分サブセクションとして)それを含めるために、 ASP.NET Webサイトでは?

編集:さらに多くの検索がthisになりました。これは、私が把握しようとしているようなものですが、正確ではありません。次のいずれかの

  • 私は、ASP.NETのWebサイト Webアプリケーションの両方のためのコードを記述して、何とかメインASP.NETのWebサイトの所有者にそれを引き渡す、または
  • Iのみ(つまり、ユーザーコントロールを作成する)アプリケーションのコードを記述し、何らかの形でメインのASP.NET Webサイトの所有者が自分のユーザーコントロールを自分のサイトに押し込むようにします。

これは私が求めていることを明確にしてくれることを願っています。

答えて

0

私は最終的に私が必要とするものを正確に行う方法を考え出しました。それは、(その記事は、VS2005に適用すると主張していても)かなりうまくhereを打ち出したが、最終的にそれだけでいくつかのことに沸くます:

  1. は、ASP.NETのWebサイト内のユーザーコントロールをしないで作成します。 Webアプリケーション。
  2. リンク先ページの手順1の最後に記載されているように、ユーザーコントロール宣言にカスタム名前空間を含むクラス名を付けます。ステップ5でユーザーコントロールを書いてテストした後
  3. 、ステップ3
  4. で説明したようにDLLアセンブリを作成説明するように、それを使用しては

私が前に持っていた最大の問題は、私が建てるということでしたWebサイトではなくASP.NET Webアプリケーション内のユーザーコントロール。私はこのように多くの時間を費やしていましたが、この答えは、少なくとも1つの新しいASP.NET開発者に、用語と微妙な違いを突きつけた時間を節約してくれるはずです。乾杯!

0

UserControlを使用するために誰かが行う必要があるのは、WebアプリケーションであろうとWebサイトであろうと、プロジェクト内の.dllへの参照を追加することだけです。

通常は、最終的な配布先に展開する必要があるため、プロジェクトに関連するフォルダ(通常は「_ライブラリ」を使用)にフォルダを追加することをお勧めします。

EDIT

私は多分、私が質問を誤解だと思います。 UIレイアウトはコードではなくマークアップに含まれているため、ASCXファイルは移植性がありません。

ユーザーコントロールを配布可能にする場合は、ライフサイクル(通常はInit()またはCreateChildControls())中にユーザーコントロールのControls()コレクションにコンポーネントを追加するか、 )、またはRender()メソッドをオーバーライドすることによって、

<@Register TagPrefix="mycontrols" namespace="My.UserControls" Assembly="My.UserControls" />ディレクティブと<% mycontrols:mydropdownlist %> aspタグを使用して自分のユーザーコントロールのいずれかを追加するだけで、自分のページに入れることができます。

+0

DLLへの参照を取得したら、DLLのWebフォームの1つをメインWebサイトのフレームにどのように埋め込むのですか?または(さらに単純でも)DLLのWebフォームを指すURLを作成しますか? –

+0

マット - 私は自分の答えを更新しました。 – womp

0

これは愚かな質問のように思えるかもしれませんが、いいデザイン時のインターフェイス以外では、server controlを書く(より複雑ですが)方法ではなく、これをユーザーコントロールとして使用するとどんなメリットがありますか。コントロールを配備する簡単な方法 - ここで求めていることを正確に教えてください。いくつかのものを設定する必要が

など、リテラル、ラベル、(DIVとしてレンダリング)あなたのコンテナのパネルを使用して、実際のコントロールを作成することは非常に簡単です、コントロールを表示するCSSベースのアプローチを想定すると

制御ライフサイクルの正しい時点で - 例えばラベルのAssociatedControlIdを入力コントロールのClientIDに設定する必要がありますが、これはCreateChildControlsに設定されていないため、後で設定する必要があります。

+0

まず、さまざまなタイプのコントロールの違いを理解できていないと思います。しかし、ちょうどあなたがかなり自分のユーザーコントロールを書くための2つの強力な理由、つまり素晴らしいデザインタイムインターフェイスと、サーバーコントロールを書くことがより関わっていることに言及しました。 –

関連する問題