1

カスタムテンプレートを使用するカスタムコントロールを作成しました。ただし、インテリセンスのサポートはなく、このxhtmlエラーがあります。カスタムコントロールのマークアップ

私はいくつかの質問をチェックしました。この投稿では、デフォルトで取得する必要があると述べています。しかし、私はそれを取得していません。私は何かすることが欠けていますか?

コードは次のようになります。

サーバー制御:

[ToolboxData("<{0}:CustomTemplateControl runat=server></{0}:CustomTemplateControl>")]
[Description("My Custom Template Control")]
public class CustomTemplateControl : WebControl
{
    [TemplateContainer(typeof(CustomTemplateItem))]
    public ITemplate CustomHeader { get; set; }

    protected override void CreateChildControls()
    {
        if (CustomHeader != null)
        {
            CustomHeader.InstantiateIn(this);
        }
        base.CreateChildControls();
    }
    public override void RenderBeginTag(HtmlTextWriter writer)
    {
        writer.AddAttribute(HtmlTextWriterAttribute.Id, this.ClientID);
        writer.RenderBeginTag(HtmlTextWriterTag.Label);

        //base.RenderBeginTag(writer);
    }

レンプレート:

public class CustomTemplateItem : Control, INamingContainer
{

}
4

1 に答える 1

1

カスタム コントロールを記述するスキーマ ファイルを作成し、VS プロジェクトでそのスキーマ ファイルを参照する必要があります。で使用します。

xhtml は大文字が好きではありません。おそらく、カスタム コントロールの属性をすべて小文字に変更する必要があります。

于 2012-07-25T22:19:18.127 に答える