2011-12-21 36 views
0

我已經編寫了一個模板用戶控件MinimalTemplate,它除了將HTML傳遞到其「ContentTemplate」佔位符外,目前只做其他事情。我希望Visual Studio 2008對MinimalTemplate具有與內置模板化控件(如Repeater)相同的intellisense功能。用於模板用戶控件標籤的智能感知

enter image description here

enter image description here

可能相關的:我可以手動輸入了我的ContentTemplate標記,它會建立和正常運行,但我得到一個驗證錯誤。我已經刪除了我的ReflectedSchemas文件夾的內容,如this question中所建議的。

enter image description here

爲最小化的模板完整源:

MinimalTemplate.ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MinimalTemplate.ascx.cs" Inherits="MyProject.MinimalTemplate" %> 
<asp:placeholder runat=server id="contentPlaceHolder" /> 

MinimalTemplate.ascx.cs

using System.Web.UI; 

namespace MyProject 
{ 
    [ParseChildren(false)] 
    public partial class MinimalTemplate : System.Web.UI.UserControl 
    { 

     [TemplateContainer(typeof(MessageContainer))] 
     [TemplateInstance(TemplateInstance.Single)] 
     public ITemplate ContentTemplate 
     { get; set; } 

     void Page_Init() 
     { 
      if (ContentTemplate != null) 
      { 
       MessageContainer container = new MessageContainer(); 
       ContentTemplate.InstantiateIn(container); 
       contentPlaceHolder.Controls.Add(container); 
      } 
     } 

     public class MessageContainer : Control, INamingContainer { } 
    } 
} 

我可以讓我的MinimalTemplate代碼哪些變化以便Visual Studio將驗證一個自動完成其ContentTemplate標籤?

回答

0

Related

[PersistenceMode(PersistenceMode.InnerProperty)]添加到ContentTemplate的屬性列表。在添加並重建之後,驗證錯誤消失,並且在Intellisense下拉菜單中按預期顯示「ContentTemplate」。

在我的調查中,我確定我嘗試添加此屬性兩到三次無效,所以我期望VS驗證器有點片狀。它有voodoo programming,但做一個清潔/重建所有,並等待幾秒鐘,然後再看看驗證錯誤是否持續。

(此外,您不需要此控件的ParseChildren屬性。)