如果 Razor 视图中的 foreach 无法识别条件
Posted
技术标签:
【中文标题】如果 Razor 视图中的 foreach 无法识别条件【英文标题】:if condition not recognised in foreach in Razor view 【发布时间】:2014-06-13 20:44:07 【问题描述】:请有人帮助我解决我的问题。我正在使用带有 CShtml 的 Web Matrix,一个使用 SQL 查询和 C# 的数据库。
var query = "SELECT Seat_Row, Seat_No, Booked FROM Seating_Plan WHERE Seat_Row = 'A'";
var db = Database.Open("TheatreBooking");
这里有我的 SQL 查询和我的数据库。
然后在 html <body>
我有以下内容:
@foreach (var item in db.Query(query))
if ( @item.Booked = 1 )
<img src="images/unavaliable.jpg" >
我遇到的问题是,在我的“if”语句中,没有找到 @item.Booked
,但是,如果我在“if”语句之外使用它,@ 会按原样突出显示,我可以返回例如,变量嵌套在<p>
标签中。
我目前遇到的错误是“'WebMatrix.Data.DynamicRecord' 不包含 'Booked' 的定义”
谢谢
【问题讨论】:
请阅读How do I write a good title? 不是您的问题的实际解决方案,但可能会在以后为您节省面子 -@item.Booked == 1
您想检查它是否相等,而不是分配我认为
你可以试试strongly typed db query
【参考方案1】:
删除@符号应该可以工作:
if ( item.Booked = 1 )
【讨论】:
我猜它也应该是双等号。 和比较运算符而不是赋值一... :) 还要感谢所有指出 == facepalm 的人以上是关于如果 Razor 视图中的 foreach 无法识别条件的主要内容,如果未能解决你的问题,请参考以下文章
从对象中的集合中删除对象时,.net core 2.1 razor 页面视图无法正确更新
覆盖 asp.net core razor 页面中的 razor 视图