1

私はasp.net4と2010を使用しています。

ページング(apsx)とWebServices(asmx)を備えたWebSiteプロジェクトがあります。

プロジェクトに含めたカスタムUserControlを使用しようとしています。

WebControl / UserControlはプレーンなc#クラスであり、aspx / ascx/asmxはありません。このクラスは次のように構成されています。

public class DropDownMenu : UserControl

つまり、System.Web.UI.UserControlを拡張し、OnPreRender、OnLoadなどの一連のUserControlsメソッドをオーバーライドします。

このファイルは正常にコンパイルされますが、aspxファイルで使用することに成功しませんでした。

私は次のことを試しました:

  <%@ Register TagPrefix="My" TagName="DropDownMenu"  
Src="DropDownMenu.cs"%>

しかし、このドセントは機能します。ランタイムエラーが発生しました:

ファイル'src'は、型を公開していないため、ここでは無効です。

Iv'eも試しました

<%@ Register Assembly="DropDownMenu" Namespace="MyNameSpace" TagPrefix="My" %>

実行時エラーを受け取りました

ファイルまたはアセンブリ'DropDownMenu'またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

クラスをaspタグ/コントロールとして使用する方法を知っている人はいますか?aspxページで以下を使用したいだけです。

<My:DropDownMenu>

4

1 に答える 1

4

登録:

<%@ Register TagPrefix="My" Assembly="AssemblyName" NameSpace="NameSpace"%>

ここAssemblyNameSpaceは、コントロールのクラスが定義されているアセンブリと名前空間の名前が含まれていますが、どちらもコントロール自体の名前ではありません。アセンブリ名にはファイル拡張子が含まれていないことに注意してください。

使用法:

<My:DropDownMenu ...>
于 2012-08-20T10:37:55.827 に答える