我创建了一个自定义控件,它采用自定义模板。但是没有intellisense支持,并且有这个xhtml错误。
我检查了一些问题; 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
{
}
答案 0 :(得分:1)
您必须创建描述自定义控件的模式文件,并在任何VS项目中引用该模式文件。你使用它。
xhtml不喜欢大写字符。可能必须使用全部小写字符更改自定义控件属性。