gpt4 book ai didi

c# - 无法访问 Razor 代码中内联声明的变量

转载 作者:行者123 更新时间:2023-12-02 08:46:07 24 4
gpt4 key购买 nike

<div id="header-content">
<a href="@Url.Action("Index", "Home")">
<img class="mainlogo" src="@Url.Content("~/Public/images/logo.png")"/>
</a>

@{
using (EFJugadorRepository repository = new EFJugadorRepository())
{
var playersOnline = repository.FindAllJugadores().Where(j => j.jugEstado == 100).Count();
}

using (EFEstadisticaMesaRepository estadisticaMesaRepository = new EFEstadisticaMesaRepository())
{
var tablesInPlay = estadisticaMesaRepository.GetTablesInPlayCount;
var availableTables = estadisticaMesaRepository.GetAvailableTablesCount;
}
}

<div id="players">
<p>Jogadores Online: <span class="onlinecount">@playersOnline</span></p>
<p>Mesas Jogando: <span class="onlinecount">213</span></p>
<p>Mesas Disponiveis: <span class="onlinecount">850</span></p>
</div>

<div id="login">
@Html.Partial("_LogOnPartial")
</div>
</div>

我尝试在 Razor 代码中使用 @playersOnline 变量,但它说它未声明。

Cannot resolve symbol 'playersOnline'.

知道为什么我无法访问该变量吗?

是因为它是在 using 语句中声明的吗?

最佳答案

是的,这是因为它是在 using 语句中声明的。

using 语句中声明的所有内容都适用于该代码块。与 if 语句相同。

只需将变量减速放在 using 之外即可:

int playersOnline = 0;

using (EFJugadorRepository repository = new EFJugadorRepository())
{
playersOnline = repository.[...]).Count();
}

正如评论中所指出的,您的代码似乎不属于 View 层。考虑一下如何构建代码并从 Darin 那里获取一些提示。

关于c# - 无法访问 Razor 代码中内联声明的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8038760/

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