<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/