- PR -

クラスライブラリにWebユーザーコントロールを追加する方法について

1
投稿者投稿内容
へるまろ
ベテラン
会議室デビュー日: 2003/02/04
投稿数: 57
お住まい・勤務地: 東京
投稿日時: 2006-06-16 19:52
現在VS2005で開発を行っているのですが、Webアプリの実装者に対してクラスライブラリを提供する予定です。
ここで各画面で共通の画面部品をWebユーザーコントロール化し、クラスライブラリの中に入れて提供しようと思っているのですが、そもそも新規作成ではWebユーザーコントロールを追加することができません・・

一度WebプロジェクトでWebユーザーコントロールを作ってから、クラスライブラリに「既定の項目」で追加した場合は、コンパイルエラーになってしまいます。

クラスライブラリのプロジェクトにWebユーザーコントロールを追加するにはどのようにすれば良いのでしょうか?

宜しくお願いいたします。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2006-06-16 21:01
Doutorさん、こんばんは。

引用:

クラスライブラリのプロジェクトにWebユーザーコントロールを追加するにはどのようにすれば良いのでしょうか?



自作の Web サーバー コントロール をクラスライブラリ化するには、「ユーザーコントロール」ではなく、「カスタム サーバーコントロール」を作成します。
プロジェクトを作成する際のテンプレートとしては、「Windows」カテゴリの中に「Web コントロール ライブラリ」というのがあります。
lalupin4
大ベテラン
会議室デビュー日: 2004/07/26
投稿数: 163
投稿日時: 2006-06-16 21:14
 2005ではどうだか知らんけど、2003では別*.dllの*.ascxは利かない。
全部System.Web.UI.Controlを継承したクラスで*.csとか*.vbで書く。

 そんで
コード:
<% Register TagPrefix="任意のタグ名" Namespace="使いたい名前空間" Assembly="使いたい名前空間を持った*.dll名" %>



 めんどいから以下参照:
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpgenref/html/cpconregister.asp
k_kazu
常連さん
会議室デビュー日: 2006/02/11
投稿数: 25
投稿日時: 2006-06-16 23:20
カスタムサーバコントロールを独自で作成するのは骨が折れるので、
プロジェクト参照を利用してユーザコントロールを参照する方法をおすすめします。

サポート技術情報「チーム開発用に複数のプロジェクトから ASP.NET アプリケーションを作成する方法」
http://support.microsoft.com/kb/307467/ja

また、VSSによるソース管理を行う場合はあらかじめ
「Visual Studio .NET と Visual SourceSafe を使用したチーム開発
ソリューションとプロジェクトの構造化」
http://www.microsoft.com/japan/msdn/net/bda/tdlg_ch3.asp
を読んでおくことをおすすめします。
『重要 VSS エクスプローラではなく、常に Visual Studio .NET のインターフェイスを使って VSS と対話します。製品の緊密な統合によって、ファイルがチーム環境で正しく管理されるようになります。』

私はこれを知らず、最近ソース管理をCVSからVSSに移行しようと思ってなかなか思い通りにならず、時間を浪費した経験があります。

ご参考まで。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2006-06-17 00:08
引用:

ここで各画面で共通の画面部品をWebユーザーコントロール化し、クラスライブラリの中に入れて提供しようと思っているのですが、そもそも新規作成ではWebユーザーコントロールを追加することができません・・



大きなプロジェクトでは、価値が高い行為だと思います。
クラスライブラリの中に入れるには、カスタムコントロール化する必要があります。
ascxファイルを動的なコード(インスタンスの作成とプロパティへの代入)に置き換える作業になりますが、
慣れれば、そんなに難しいものではない。

[ メッセージ編集済み 編集者: todo 編集日時 2006-06-17 00:12 ]
へるまろ
ベテラン
会議室デビュー日: 2003/02/04
投稿数: 57
お住まい・勤務地: 東京
投稿日時: 2006-06-20 19:45
こちらの返信が遅れてしまったことをお詫びいたします。

結局Webカスタムコントロールにすることで、クラスライブラリに画面部品を追加することが出来ました。
当初はとまどいましたが、ようは慣れの問題だということが分かりほっとしております。

ありがとうございました。

1

スキルアップ/キャリアアップ(JOB@IT)