foreach(项中的变量)和排除项

小问题

我的c#mvc项目代码中包含以下内容:

div class="card-body">
                @if (User.IsInRole("Secretaris"))
                {
                <table class="table">
                    <tr>
                        <th>@Html.DisplayNameFor(model => model.FirstName)</th>
                    </tr>
                    @foreach (var item in Model)
                    {
                        if (User.IsInRole("Secretaris"))
                        {
                            <tr>
                                <td>@Html.DisplayFor(modelitem => item.FirstName)</td>
                            </tr>
                        }
                    }

                </table>
                }
            </div>

当我运行代码时,一切正常,但是当我进入foreach时,它仍然给出了所有名称,而不仅是具有“秘密”角色的名称。希望有人可以帮助我解决我做错的事情。

谢谢。

Roel Knippen

jayparkcj 回答:foreach(项中的变量)和排除项

要显示表开头,请检查用户是否具有Secretaris角色。因此它会显示还是不显示,具体取决于该角色。

但是,然后在foreach循环中检查用户是否再次担任该角色,这是多余的,因为如果不是由于您的if语句引起的,该代码甚至不会运行。

我假设您要对作为模型元素的“ item”对象进行某种检查。

,

由于您的Model具有.Firstname属性,因此我假设您的模型代表一个人,可能是一个用户。

@User代表当前登录的用户-不是您模型中的用户。 如果要与模型中的用户/权限一起使用,则需要在模型中包括角色信息。像

if (modelItem.Roles.Contains("Sec...")) { }
,
<manifest ...>
    <application ... >
        <activity ... >
            ...
        </activity>

        <service
            android:name=".MyInputMethodService"
            android:label="Keyboard Display Name"
            android:permission="android.permission.BIND_INPUT_METHOD">
            <intent-filter>
                <action android:name="android.view.InputMethod"/>
            </intent-filter>
            <meta-data
                android:name="android.view.im"
                android:resource="@xml/method"/>
        </service>

    </application>
</manifest>

也许是这样的地方,您可以检查item.role是否是秘书?

本文链接:https://www.f2er.com/3158299.html

大家都在问