ASP.NET MVC5 Razor视图中If比较函数失效问题求助
问题排查与修复
核心代码错误修正
你当前代码里的if条件写法有误,在Razor的C#代码块(foreach的大括号内部)中,不需要给变量添加@符号,@是用于在HTML上下文插入C#代码的标记。修正后的代码如下:
<td class="text-center"> @foreach (Dummy ver in ViewBag.dummies) { if (ver.Name == item.Name) { <i class="fas fa-check" class="existed"></i> } } </td>
额外注意事项
- 字符串匹配问题:如果修正后还是不生效,检查两个字符串是否存在大小写差异、首尾空格等情况,可以用
string.Equals指定忽略大小写或去除空格后比较:if (string.Equals(ver.Name?.Trim(), item.Name?.Trim(), StringComparison.OrdinalIgnoreCase)) - 重复ID问题:原代码中循环生成的
<i>标签都用了同一个id="existed",这不符合HTML规范(ID必须唯一),建议改成class属性,避免后续DOM操作出现问题。
内容的提问来源于stack exchange,提问作者KimKim
相关产品推荐
相关产品推荐

