2009-03-12 7 views
1

をレンダリングしません:ASP.NETコントロールは、私はこのようになりますどのレンダリングしようとしている非常にシンプルなコントロールを持っている

using System; 
using System.Web; 
using System.Web.UI; 

namespace CORE.BusinessObjects.Web.Controls 
{ 
    public class TestControl : Control 
    { 
     protected override void Render(HtmlTextWriter writer) 
     { 
      writer.Write("Hello from TestControl!"); 
     } 
    } 
} 

私は次のように制御を呼んでいる:

<%@ Register TagPrefix="Custom" 
      Namespace="CORE.BusinessObjects.Web.Controls" %>  
<Custom:TestControl ID="testControl" runat="server" Visible="true"> 
</Custom:TestControl> 

何か間違っていますか?私はまた、私がオンラインで見つけたコントロールサンプルを実行できませんでした。何も実行されません。私はコントロールのコンストラクタのみを実行できます。 Render()またはCreateChildControls()のようにオーバーライドしようとする方法はすべて実行されません。

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

編集:コントロールがマスターページのあるページに含まれていることを忘れてしまった。コントロールはマスターページでは正常に動作しますが、マスターページでは正常に動作しません。

:あなたは次のことを試してみてくださいCompositeControlまたはWebBrowserコントロール

答えて

1

System.Web.UI.Control.WebControlクラスから継承します。

b。コントロールライブラリを作成し、カスタムコントロールライブラリがコンパイルされ、関連するWebプロジェクトで参照されていることを確認してください。必要に応じて、ツールボックスに追加し、そこからフォームにドラッグします。それはまた、参照を1つのステップで追加する必要があります。

c。コントロール宣言に、参照されるコントロールアセンブリの名前を指すAssembly属性があることを確認します。

<%@ Register TagPrefix="Custom" Assembly="CORE.BusinessObjects" Namespace="CORE.BusinessObjects.Web.Controls" %> 
<Custom:TestControl ID="testControl" runat="server" Visible="true" /> 
関連する問題