2011-05-03 57 views
0

你好,我有我的UserControls的調試代碼的問題。我將我的UserControls動態添加到佈局上的placeHolder。在控件添加到佔位符後,當我將VS2008附加到我的工作進程時,我只能調試一次代碼。通常當我在IE/Firefox中刷新我的頁面時,我的斷點再次被擊中,但現在它們不是。 這是一些用於控件添加到我的網頁代碼:調試System.Web.UI.UserControl只打一次斷點

的ascx的用戶控件中的CS會將其他用戶控件動態地:這個文件,我加的.cs的

<asp:Repeater ID="rptListRenderer" runat="server" EnableViewState="false"> 
    <ItemTemplate> 
     <asp:PlaceHolder ID="Content" runat="server" /> 
    </ItemTemplate> 
</asp:Repeater> 

部分對照:

if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item) 
      { 
       Item dataItem = (Item)e.Item.DataItem; 

       System.Web.UI.WebControls.PlaceHolder content = (System.Web.UI.WebControls.PlaceHolder)e.Item.FindControl("content"); 
       if (content != null) 
       { 
        RenderingReference[] renderings = dataItem.Visualization.GetRenderings(Sitecore.Context.Device, false); 
        foreach (RenderingReference rendering in renderings) 
        { 
         string strDataSource = dataItem.ID.ToString(); 
         rendering.Settings.DataSource = strDataSource; 
         content.Controls.Add(rendering.RenderingItem.GetControl(rendering.Settings)); 
        } 
       } 
      } 

我也注意到的是,當我有餅乾或工作動態地補充說,被動態地添加用戶控件內部控制,我必須重建見成效。 例如:

我添加一個cookie與被用來確定一個超鏈接一個類上的動態地增加的控制的項目的GUID。該類只是在構建之後纔會更改,而我希望在刷新頁面後更改而不構建項目。 周圍有沒有人有類似的問題,或者可能有什麼線索可以發生在這裏?如果我需要更詳細地描述上述任何一種情況,請告訴我!

回答

0

我已經有過這個問題幾次了。我們正在CMS Sitecore上開發,Sitecore有緩存選項。當緩存 - 根據數據變化在渲染中放置控件代碼時,這些控件將不會被重新加載,而是被重新使用。這就是爲什麼斷點不會被觸發的原因。