gpt4 book ai didi

c# - 临时数据未被清除时出现问题

转载 作者:行者123 更新时间:2023-11-30 17:35:16 24 4
gpt4 key购买 nike

在我的应用程序中,我创建了一个基本 Controller 。所有其他 Controller 都派生自 BaseController

public class BaseController : Controller
{
//
// GET: /Base/
public void Warning(string message)
{
TempData.Add(Alerts.WARNING, message);
}
public void Success(string message)
{
TempData.Add(Alerts.SUCCESS, message);
}

public void Information(string message)
{
TempData.Add(Alerts.INFORMATION, message);
}

public void Error(string message)
{
TempData.Add(Alerts.ERROR, message);
}
}

否,如果我从 BaseController 派生任何其他 Controller ,则可以执行此操作

public ActionResult Test()
{
Success("This is a success Alert");
}

现在在 _alert 部分 View 中,我检查了临时数据并使用 Toastr 发出声音。 .

_alerts 局部 View

@if (TempData.ContainsKey(Alerts.SUCCESS))
{
foreach (var value in TempData.Values)
{
<script>
toastr.success("@value.ToString()");
</script>

}


}

@if (TempData.ContainsKey(Alerts.ERROR))
{
foreach (var value in TempData.Values)
{
<script>

toastr.error("@value.ToString()");
</script>
}
}

@if (TempData.ContainsKey(Alerts.INFORMATION))
{
foreach (var value in TempData.Values)
{
<script>

toastr.warning("@value.ToString()");
</script>
}
}

@if (TempData.ContainsKey(Alerts.WARNING))
{
foreach (var value in TempData.Values)
{
<script>
toastr.warning("@value.ToString()");
</script>
}
}

这个 _alert 部分 View 在我的 _layout View 中呈现。这是应用程序的主要布局。

所有页面都使用该布局。

问题:

我面临的问题是,一旦我从 Controller 发送消息,例如:

Success("This is a success message");

我在浏览器中收到一条很好的消息。但每次我转到下一页时,我都会收到相同的消息,因为它仍然保留在我的 TempData 中。

我该怎么做才能解决这个问题?

我可能必须清除临时数据,但是在哪里?

我尝试从 View 中清除 TempData:但它不允许我。我在浏览器上收到错误消息,说我只能执行赋值、递增、递减和创建对象等操作,但不能执行 TempData.Clear();。另外,在客户端执行清除 TempData 不是个好主意,对吗?

最佳答案

这似乎已经成功了

@if (TempData.ContainsKey(Alerts.SUCCESS))
{
foreach (var value in TempData.Values)
{
<script>
toastr.success("@value.ToString()");
</script>

}
TempData.Remove(Alerts.SUCCESS);

}

但我仍然不知道像我一样从 View 中清除 TempData 是否是个好主意。

建议?

关于c# - 临时数据未被清除时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22194055/

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