对于我期望的人来说,这应该是一些简单的观点,但作为一名前端开发人员试图掌握MVC剃须刀并且没有事先知道C#,这让我很难过。
我有一个布尔变量hasSecond
,我想在以下foreach
中考虑:
@foreach (PODO_AcceptRejectReasons reason in reasonList2.Where(e => e.Type == 1))
{
<option data-confirm-type="1" data-confirm-attr="@reason.Attribute" value="@reason.ID">@reason.Text</option>
}
我只想在@reason.Atrribute
为hasSecond
时显示true
值为'SECOND'的选项,否则请勿显示这些选项。
感谢您的帮助!
答案 0 :(得分:3)
@foreach (PODO_AcceptRejectReasons reason in reasonList2.Where(e => e.Type == 1))
{
if(hasSecond||reason.Attribute!="SECOND")
{
<option data-confirm-type="1" data-confirm-attr="@reason.Attribute" value="@reason.ID">@reason.Text</option>
}
}
应该做的伎俩。我想以前我的逻辑略有错误。这将显示option
不是reason.Attribute
的所有SECOND
s。如果 SECOND
,只有option
为真,才会显示hasSecond
。
答案 1 :(得分:1)
只需将其添加到Where语句:
@foreach (PODO_AcceptRejectReasons reason in reasonList2.Where(e => e.Type == 1 && hasSecond))
{
<option data-confirm-type="1" data-confirm-attr="@reason.Attribute" value="@reason.ID">@reason.Text</option>
}
答案 2 :(得分:0)
您可以通过以下方式执行此操作,只需在foreach循环中添加一个if语句,然后在where处添加另一个子句。
@foreach (PODO_AcceptRejectReasons reason in reasonList2.Where(e => e.Type == 1 && e.Attribute=="SECOND"))
{
if(hasSecond)
{
<option data-confirm-type="1" data-confirm-attr="@reason.Attribute" value="@reason.ID">@reason.Text</option>
}
}
如果您只想在data-confirm-attr="@reason.Attribute"
为假时删除hasSecond
,则可以使用以下内容:
@foreach (PODO_AcceptRejectReasons reason in reasonList2.Where(e => e.Type == 1))
{
<option data-confirm-type="1" @if(hasSecond) { <text>data-confirm-attr="@reason.Attribute"</text> } value="@reason.ID">@reason.Text</option>
}