检查Usercontrol以前是否加载在页面上



在.Net用户控件中,是否有方法检查该控件以前是否已加载到页面上?

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

我需要这样做的原因是,用户控件是作为sitecore中的子youts加载的,我不知道内容作者可能已经向页面添加了多少次控件。如果这是第一次将控件调用到页面,我需要为第三方服务添加一个写出来的div标记。如果div标记出现不止一次,第三方服务会发出嘎嘎声。

只需使用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;
}

最新更新