确保部分内容每页只包含一次
本文关键字:包含一 确保部 | 更新日期: 2023-09-27 18:03:54
我如何确保一个部分只包含一次每页?我无法控制包含它的内容,因此我需要找到某种ThreadLocal
上下文来设置可以由Partial
FooBarTemplateLoaded
标志。@if( ! MyThreadLocalContext.FooBarTemplateLoaded ) {
@mainContent();
MyThreadLocalContext.FooBarTemplateLoaded = true;
}
如果有人想知道为什么我想让它只包含一次,它是一个<template>
块,将被注入到所需的javascript容器。
您可以使用HttpContext.Current.Items
来存储具有当前请求生命周期的任何信息。(ASP。. NET在后台大量使用HttpContext.Current.Items
来存储每个请求的信息)
可运行示例代码
var items = HttpContext.Current.Items;
var key = "YoutubeVideoModalTemplateLoaded";
if (!(items.Contains(key)) || !(bool) items[key])
{
@content()
items.Add(key, true);
}