0

カスタム ASP.Net コントロールを作成しました。

namespace Chart2GoWeb.WebUI.UserControls
{
    public class NavigationBarControl : Control
    {
        protected override void Render(HtmlTextWriter output)
        {
            ...
        }
    }
}

これを aspx ページで使用します。私は追加しようとしました:

<%@ Register Namespace='Chart2GoWeb.WebUI.UserControls' TagPrefix='c2gwwc'%>    

ページに移動し、これでコントロールを使用しました:

<c2gwwc:NavigationBarControl runat=server></c2gwwc:NavigationBarControl>

エラーが発生しています:

パーサー エラー メッセージ: 不明なサーバー タグ 'c2gwwc:NavigationBarControl'。

これを修正するにはどうすればよいですか?

4

3 に答える 3

1

c2gwwcタグのプレフィックスと一致する必要がありますTagPrefix="asp"

また、Control ではなく WebControl を拡張するべきではありませんか? 私はプロではありませんが、正しく見えません。

于 2012-07-10T16:37:24.673 に答える
0

うわー、私がしなければならなかったのは、レジスターに「Assembly = "Chart2GoWeb.WebUI"」を追加することだけで、それは機能しました。現在のアセンブリを想定していないようです。生活し、学びます。みんなの助けてくれてありがとう。

于 2012-07-10T17:49:30.443 に答える
0

カスタム ASP コントロール マークアップをこれに置き換えます

<asp:NavigationBarControl runat=server></asp:NavigationBarControl>

更新された回答: カスタム サーバー コントロールを作成した場合は、カスタム サーバー コントロールの dll をプロジェクトに追加する必要があります。また、Toobox にカスタム サーバー コントロールを追加することもできます。ツール ボックスを右クリックし、コントロールを選択するなどして、新しいポップアップ ウィンドウが開き、dll を選択すると、コントロールがツールボックスに表示されます。

于 2012-07-10T16:41:25.707 に答える