C# 如果在foreach内安装Station,则MVC视图
我试图在Razor视图中的foreach循环中放置一个if语句,但是我得到了一个错误C# 如果在foreach内安装Station,则MVC视图,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我试图在Razor视图中的foreach循环中放置一个if语句,但是我得到了一个错误error},这是预期的,如果我删除if语句,则没有错误 我已经尝试了其他类似问题中提到的几个不同选项,比如使用@Html.Raw在中包装,但我要做的只是为字符串变量设置一个值 @foreach (var item in Model) { string RowColor = "Standard"; string RowClassName =
error},这是预期的
,如果我删除if语句,则没有错误
我已经尝试了其他类似问题中提到的几个不同选项,比如使用@Html.Raw
在
中包装,但我要做的只是为字符串变量设置一个值
@foreach (var item in Model)
{
string RowColor = "Standard";
string RowClassName = "row-" + @item.CaseID;
int StatusDays = int.Parse(@item.StatusDays);
if (@item.Viewings == 0 && StatusDays >= 14)
{
RowColor = "Red";
}
<tr class="row-click @RowClassName @RowColor" data-url="/Case/Details/@item.CaseID/">
<td>
@Html.DisplayFor(modelItem => item.CaseID)
</td>
<td>
@item.RegistrationDate.Date.ToString("dd-MMM-yyyy")
</td>
</tr>
}
@foreach(模型中的变量项)
{
字符串RowColor=“标准”;
字符串RowClassName=“行-”+@item.CaseID;
int StatusDays=int.Parse(@item.StatusDays);
如果(@item.Viewings==0&&StatusDays>=14)
{
RowColor=“红色”;
}
@DisplayFor(modelItem=>item.CaseID)
@item.RegistrationDate.Date.ToString(“dd-MMM-yyyy”)
}
您的问题就在这里
if (@item.Viewings == 0 && StatusDays >= 14)
删除@符号
if (item.Viewings == 0 && StatusDays >= 14)
试试这个修改过的代码
@{
foreach (var item in Model)
{
string RowColor = "Standard";
string RowClassName = "row-" + item.CaseID;
int StatusDays = int.Parse(item.StatusDays);
if (item.Viewings == 0 && StatusDays >= 14)
{
RowColor = "Red";
}
<tr class="row-click @RowClassName @RowColor" data-url="/Case/Details/@item.CaseID/">
<td>
Html.DisplayFor(modelItem => item.CaseID)
</td>
<td>
item.RegistrationDate.Date.ToString("dd-MMM-yyyy")
</td>
</tr>
}
}
@{
foreach(模型中的var项目)
{
字符串RowColor=“标准”;
字符串RowClassName=“行-”+item.CaseID;
int StatusDays=int.Parse(item.StatusDays);
如果(item.Viewings==0&&StatusDays>=14)
{
RowColor=“红色”;
}
DisplayFor(modelItem=>item.CaseID)
item.RegistrationDate.Date.ToString(“dd-MMM-yyyy”)
}
}
很长时间没有使用razor,但我认为问题是您在代码中使用了更多@,例如在
string RowClassName = "row-" + @item.CaseID;
int StatusDays = int.Parse(@item.StatusDays);
应该是
string RowClassName = "row-" + item.CaseID;
int StatusDays = int.Parse(item.StatusDays);
为什么要添加相同的答案?@GlennPacker-答案与您的答案不同。@JBoom-因为您已经使用@{}创建了一个代码块,请确保您没有在代码块中使用任何@符号。请看更正后的代码,还有另一个@符号要删除,然后工作正常,谢谢。