在.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;
}