检查Usercontrol先前是否已加载到页面上

Dua*_*eau 2 c# asp.net sitecore

在.Net用户控件中是否有办法检查控件是否先前已加载到页面上?

我考虑过尝试将变量存储在.Net会话变量中,以便在加载时跟踪每个控件,然后在页面预渲染事件中处理变量.在我看来,必须有一个更好的方法来实现这一目标.

我需要这样做的原因是因为usercontrols作为sitecore中的子布局加载,我不知道内容作者可能将控件添加到页面的次数.如果是第一次将控件调用到页面,我需要为第三方服务添加一个div标签.如果div标签出现不止一次,第三方服务就会傻瓜.

Mar*_*lak 5

只是HttpContext.Current.Items用来保存有关加载控件的信息.

顾名思义,HttpContext.Current仅适用于单个Web请求.无需担心处置或清除旧数据.

if (HttpContext.Current.Items["I was here"] == null) 
{
    // do custom div magic
    HttpContext.Current.Items["I was here"] = true;
}
Run Code Online (Sandbox Code Playgroud)