gpt4 book ai didi

asp.net-mvc - 在 ASP.NET MVC 3 中只执行一次代码

转载 作者:行者123 更新时间:2023-12-02 00:23:37 31 4
gpt4 key购买 nike

我有一个名为“noteEditor”的局部 View 。这是在另一个称为“摘要”的局部 View 中呈现的。我希望“noteEditor”局部 View 只呈现到页面一次,而不管“摘要”局部 View 呈现多少次。

我曾希望在摘要部分 View 中做一些类似的事情:

@{
var viewDataNotesEditorRegistered = ViewData["notesEditorRegistered"];
var notesEditorRegistered = (bool)(viewDataNotesEditorRegistered ?? false);
}
@if (!notesEditorRegistered)
{
<div class="notesdialog" style="display: none;">@Html.Partial("NotesEditor")</div>
ViewData["notesEditorRegistered"] = true;
}

但是,每次调用 ViewData["notesEditorRegistered"] 时,它都会返回 null。

是否有更“全局”(针对整个页面且仅在该请求期间)的范围?

谢谢

最佳答案

您可以为此目的使用 HttpContext 而不是 ViewData:

@{
var viewDataNotesEditorRegistered = ViewContext.HttpContext.Items["notesEditorRegistered"];
var notesEditorRegistered = (bool)(viewDataNotesEditorRegistered ?? false);
}
@if (!notesEditorRegistered)
{
<div class="notesdialog">@Html.Partial("NotesEditor")</div>
ViewContext.HttpContext.Items["notesEditorRegistered"] = true;
}

关于asp.net-mvc - 在 ASP.NET MVC 3 中只执行一次代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9865433/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com