如何确保每页仅包含一次?我无法控制包含它的内容,所以我需要找到某种ThreadLocal
上下文来设置FooBarTemplateLoaded
标志,可以通过Partialàla
@if( ! MyThreadLocalContext.FooBarTemplateLoaded ) {
@mainContent();
MyThreadLocalContext.FooBarTemplateLoaded = true;
}
如果有人想知道为什么我想只包含一次,那么它是一个<template>
块,将通过javascript注入到所需的容器中。
答案 0 :(得分:1)
您可以使用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);
}