为什么我的剃须刀 @if 评估不正确?
Why is my razor @if not evaluating correctly?
为什么我的 @if
语句没有正确计算为真?给定以下剃须刀代码:
@{
List<string> list = new List<string> { "test 0", "test 1" };
int index = 0;
}
@foreach (var item in list)
{
<div index="@index" item="@if (index == 0) { <text>zero</text> }">
@item
</div>
index++;
}
产生这个输出:
<div index="0" item="">
test 0
</div>
<div index="1" item="">
test 1
</div>
期望的输出:
<div index="0" item="zero">
test 0
</div>
<div index="1" item="">
test 1
</div>
文本 zero
永远不会被渲染,在 div 标签上放置一个断点,在两次迭代中显示 index 2
(!)。我知道这可能是我很想念的东西,但我不知道那是什么。
更新:这没有区别
<div index="@index" item="@if (index == 0)
{
<text>zero</text>
}">
@item
</div>
试试这个
@{
List<string> list = new List<string> { "test 0", "test 1" };
int index = 0;
}
@foreach (var item in list)
{
if(index == 0){
<div index="@index" item="zero">
@item
</div>
index++;
}
else if(index == 1)
{
<div index="@index" item="">
@item
</div>
index++;
}
else
{
// more here
}
}
我想也许你的括号放错了地方。这似乎对我有用... https://dotnetfiddle.net/BohydN(只有网格的右半部分是相关的)。
这是 "by-design",如下所示:https://github.com/aspnet/AspNetCore/issues/9070
为什么我的 @if
语句没有正确计算为真?给定以下剃须刀代码:
@{
List<string> list = new List<string> { "test 0", "test 1" };
int index = 0;
}
@foreach (var item in list)
{
<div index="@index" item="@if (index == 0) { <text>zero</text> }">
@item
</div>
index++;
}
产生这个输出:
<div index="0" item="">
test 0
</div>
<div index="1" item="">
test 1
</div>
期望的输出:
<div index="0" item="zero">
test 0
</div>
<div index="1" item="">
test 1
</div>
文本 zero
永远不会被渲染,在 div 标签上放置一个断点,在两次迭代中显示 index 2
(!)。我知道这可能是我很想念的东西,但我不知道那是什么。
更新:这没有区别
<div index="@index" item="@if (index == 0)
{
<text>zero</text>
}">
@item
</div>
试试这个
@{
List<string> list = new List<string> { "test 0", "test 1" };
int index = 0;
}
@foreach (var item in list)
{
if(index == 0){
<div index="@index" item="zero">
@item
</div>
index++;
}
else if(index == 1)
{
<div index="@index" item="">
@item
</div>
index++;
}
else
{
// more here
}
}
我想也许你的括号放错了地方。这似乎对我有用... https://dotnetfiddle.net/BohydN(只有网格的右半部分是相关的)。
这是 "by-design",如下所示:https://github.com/aspnet/AspNetCore/issues/9070