无法在 mvc 视图剃须刀中循环



我无法在foreach循环内进行比较。这是下面的代码。

 @foreach (c3card.Dal.EDModel.tm_scrn_screen obj in tmgrp)
                    {
                        <tr>
                            <td>
                                @obj.scrn_name
                            </td>
                        </tr>

                        foreach (var item in ViewBag.perm_details)
                        {
                            if (@obj.scrn_id == @item.scrn_id)
                            {
                                <tr> <td>@item.perm_read</td></tr>
                                <tr> <td>@item.perm_write</td></tr>
                                if (@item.perm_read == true)
                                {
                                    <tr>
                                        <td>
                                            <input type="checkbox" title="@obj.scrn_id" value="@obj.scrn_id" class="chkNumber1" checked="checked" />
                                        </td>
                                        }
                                        else
                                        {
                                        <td>
                                            <input type="checkbox" title="@obj.scrn_id" value="@obj.scrn_id" class="chkNumber2" />
                                        </td>
                                    </tr>
                                }
                                if (@item.perm_write == true)
                                {
                                    <tr>
                                        <td>
                                            <input type="checkbox" title="@obj.scrn_id" value="@obj.scrn_id" class="chkNumber1" checked="checked" />
                                        </td>
                                        }
                                        else
                                        {
                                        <td>
                                            <input type="checkbox" title="@obj.scrn_id" value="@obj.scrn_id" class="chkNumber2" />
                                        </td>
                                    </tr>
                                }
                            }
                            else
                            {
                                <tr>
                                    <td>
                                        <input type="checkbox" title="@obj.scrn_id" value="@obj.scrn_id" class="chkNumber1" />
                                    </td>
                                    <td>
                                        <input type="checkbox" title="@obj.scrn_id" value="@obj.scrn_id" class="chkNumber2" />
                                    </td>
                                </tr>
                            }
                        }
                    }

这段代码我无法使用以下方法进行比较

if (@item.perm_read == true)

我在上面显示 @item.perm_read 的值,它返回 true,但我比较它返回 false。我可以知道为什么我无法比较吗? @item.perm_read 此代码将返回 True

@foreach (c3card.Dal.EDModel.tm_scrn_screen obj in tmgrp)
{
<tr>
    <td>
        @obj.scrn_name
    </td>
</tr>

foreach (var item in ViewBag.perm_details)
{
    if (obj.scrn_id == @item.scrn_id)
    {
        <tr> <td>@item.perm_read</td></tr>
        <tr> <td>@item.perm_write</td></tr>
        if (item.perm_read == true)
        {
            <tr>
                <td>
                    <input type="checkbox" title="@obj.scrn_id" value="@obj.scrn_id" class="chkNumber1" checked="checked" />
                </td>
                }
                else
                {
                <td>
                    <input type="checkbox" title="@obj.scrn_id" value="@obj.scrn_id" class="chkNumber2" />
                </td>
            </tr>
        }
        if (item.perm_write == true)
        {
            <tr>
                <td>
                    <input type="checkbox" title="@obj.scrn_id" value="@obj.scrn_id" class="chkNumber1" checked="checked" />
                </td>
                }
                else
                {
                <td>
                    <input type="checkbox" title="@obj.scrn_id" value="@obj.scrn_id" class="chkNumber2" />
                </td>
            </tr>
        }
    }
    else
    {
        <tr>
            <td>
                <input type="checkbox" title="@obj.scrn_id" value="@obj.scrn_id" class="chkNumber1" />
            </td>
            <td>
                <input type="checkbox" title="@obj.scrn_id" value="@obj.scrn_id" class="chkNumber2" />
            </td>
        </tr>
    }
}

}

你不应该使用 if(@item.perm_read == true)

必须是 if(item.perm_read == true) 您应该在 if 语句中删除 @

我仍然想知道通常您必须尝试使用 @if(item.perm_read == true) 或 if(item.perm_read == true),因为您前面的语句具有 c# 代码,它必须抛出错误。

最新更新