自定义服务器控件 - 如何获得intellisense支持并消除xhtml错误?

时间:2012-06-09 06:34:57

标签: asp.net intellisense custom-server-controls

我创建了一个自定义控件,它采用自定义模板。但是没有intellisense支持,并且有这个xhtml错误。 Markup of custom control

我检查了一些问题; this帖子说我们必须默认获取它。但是我没有得到它。我错过了一些事情吗?

以下是代码的外观:

服务器控制:

[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
{

}

1 个答案:

答案 0 :(得分:1)

您必须创建描述自定义控件的模式文件,并在任何VS项目中引用该模式文件。你使用它。

xhtml不喜欢大写字符。可能必须使用全部小写字符更改自定义控件属性。