2

カスタム サーバー コントロールをセットアップして、Visual Studio のデザイン ビューにドラッグできるようにするにはどうすればよいですか?

MailLink基本的に、この MSDN の記事からコードをコピーして、別の ASP.NET サーバー コントロール プロジェクトとカスタム コントロールを作成しました:方法: Visual Studio でカスタム ASP.NET サーバー コントロールを使用する。ライブラリを手動で登録し、Web ページに次の 2 行でコントロールを挿入すると、コントロールは正常に動作します。

<%@ Register Namespace="Samples.AspNet" TagPrefix="Sample" %>
<Sample:MailLink runat="server" />

しかし、Visual Studio のデザイン ビューにドラッグできるように、コントロールを登録/構成するにはどうすればよいですか? ソリューション エクスプローラーからコントロールをドラッグすると、コントロールへのパスだけが得られます。サーバー コントロール プロジェクトから DLL を VS ツールボックスに追加すると、コントロールをデザイン ビューにドラッグすると、クリップボードの FORMATETC エラーが発生します。

4

3 に答える 3

1

同じページにいることを確認するためだけに:

ASP.Net で構築できるコントロールの種類は複数あります。残念ながら、作成するコントロールの種類によっては、通常、コントロールを開発するとき、またはコントロールが使用されるページを開発するときにのみ、Visual Studio からコントロールのデザイナー サポートを取得できますが両方ではありません。サポートされていないコントロールは、灰色のボックスとして表示されます。

IMO これは Visual Studio/ASP.Net の大きな失敗でしたが、余談です。ascxコード ビハインドのないコントロールを使用することで、この制限が克服されるのを見てきました。

邪魔にならないので、先に進みましょう。

この場合、 を使用しているように聞こえますServer Control。サーバー コントロールは、コントロールが使用されるページを作成するときに Visual Studio からデザイナー サポートを取得する必要があるため、幸運です。ただし、コントロールをプロジェクトで使用できるようにする必要があります。

サーバー コントロールは通常、dll アセンブリにコンパイルされます。このファイルへの参照をソリューションに含める必要があります。この時点で、ツールボックスを右クリックして を選択できるはずですChoose Items...。これにより、アセンブリを選択できるダイアログ ボックスが表示されます。この時点で、コントロールがツールボックスに表示されます。

残念ながら、Visual Studio は、これらのコントロールを追加する際に風変わりになる場合があります。それらを使用できるようにするには、Visual Studio を再起動する必要がある場合があります。私はまだ Visual Studio 2005 を使用しているので、2008 ではこの点が改善されていることを願っています。

于 2009-03-23T16:49:53.333 に答える