首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >考虑foreach循环中的bool

考虑foreach循环中的bool
EN

Stack Overflow用户
提问于 2013-03-01 17:17:37
回答 3查看 1.1K关注 0票数 0

对于我所期望的人来说,这应该是一些简单的点,但作为一个前端开发人员,试图在对C#一无所知的情况下处理MVC剃刀,这让我感到困惑。

我有一个布尔变量hasSecond,我想在下面的foreach中考虑它

代码语言:javascript
复制
@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>
    }

我只想在hasSecondtrue时显示@reason.Atrribute值为'SECOND‘的选项,否则不显示这些选项。

谢谢你的帮忙!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-03-01 17:21:28

代码语言:javascript
复制
@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>
        }
    }

应该能行得通。我想我之前的逻辑有点错误。这将显示reason.Attribute不是SECOND的所有option。如果为SECOND,则仅当hasSecond为true时才显示option

票数 3
EN

Stack Overflow用户

发布于 2013-03-01 17:22:00

只需将其添加到Where语句:

代码语言:javascript
复制
@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>
    }
票数 1
EN

Stack Overflow用户

发布于 2013-03-01 17:19:41

您可以通过以下方式完成此操作,只需将if语句放入foreach循环中,并将另一个子句添加到where。

代码语言:javascript
复制
@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>
    }
}

如果您只想在hasSecond为false的情况下删除data-confirm-attr="@reason.Attribute",则可以使用以下方法:

代码语言:javascript
复制
@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>
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15154239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档