调试System.Web.UI.UserControl只打一次断点

时间:2011-05-03 07:02:18

标签: .net cookies dynamic user-controls

您好我调试UserControls的代码有问题。我将我的UserControls动态添加到布局上的placeHolder。将控件添加到占位符后,当我将VS2008附加到我的工作进程时,我只能调试一次代码。通常当我在IE / Firefox中刷新我的页面时,我的断点再次被击中,但现在它们不是。 这是用于向我的页面添加控件的一些代码:

用于UserControl的ascx,其中cs动态地添加其他UserControl:

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

此文件的.cs部分,我添加了控件:

 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或在动态添加的UserControls中动态添加控件时,我必须重建才能看到效果。 例如:

我添加了一个带有项目GUID的cookie,用于在动态添加的控件上确定HyperLink上的类。该类仅在构建后更改,而我希望在页面刷新后更改而不构建我的项目。 有没有人有类似的问题或可能有一个线索可以发生在这里?如果我需要更具体地说明上述事情之一,请告诉我!

1 个答案:

答案 0 :(得分:0)

我现在已经好几次这个问题了。我们正在开发CMS Sitecore,Sitecore有缓存选项。当缓存 - 数据变化对于将控制代码置于后面的渲染时为真时,这些控件将不会重新加载但重新使用。这就是为什么断点不会被击中的原因。