【问题标题】:ASP .NET core razor view conditional display doesn't work as expectedASP .NET 核心剃刀视图条件显示无法按预期工作
【发布时间】:2017-01-11 17:35:04
【问题描述】:

我有一个视图,我有条件地迭代和打印项目:SPAN 没有显示(如预期的那样)。

<div>
@if (Model.SomeCondition)
{
    @foreach (var x in Model.SomeData)
    {
        <span>@x.Title</span>
    }
}
</div>

现在我不想显示封闭的 DIV,但它不起作用:SPAN 仍然不显示,但 DIV 是。为什么会这样?

@if (Model.SomeCondition)
{
<div>
    @foreach (var x in Model.SomeData)
    {
        <span>@x.Title</span>
    }
</div>
}

这是完整的视图代码:

@using Team.L
@using Microsoft.AspNetCore.Mvc.Localization
@inject IViewLocalizer Localizer
@model Team.ViewModels.DeptTaskGroupView

@{
    var EventHandler = "Aventin." + ViewBag.AspAction + "(event)";
}

<form asp-controller="ModulesEx" asp-action="@ViewBag.AspAction" onsubmit="return false">
    <div class="form-horizontal">
        <input type="hidden" asp-for="Errors">
        <div class="MessageBox">@Html.Raw(Utility.GetMessage(Model))</div>
        <div class="form-group col-md-offset-2">
            <label class="col-md-2"></label>
            <div class="col-md-10">
                <span data-valmsg-for="" class="text-danger" />
            </div>
        </div>
        <div class="form-group">
            <label class="col-md-2 control-label">@MyText.Department</label>
            <div class="col-md-10">
                <select asp-for="DepartmentID" class="form-control" asp-items="@Model.DepartmentList" onchange="@EventHandler"></select>
                <span asp-validation-for="DepartmentID" class="text-danger" />
            </div>
        </div>
        @if (Model.AssignedTaskGroup != null)
        {
        <div class="form-group">
            <label class="col-md-2 control-label">@MyText.TaskGroup</label>
            <div class="col-md-10">
                @foreach (var x in Model.AssignedTaskGroup)
                {
                    <input type="checkbox" name="selectedItems" value="@x.ID" @(Html.Raw(x.Assigned ? "checked=\"checked\"" : "")) />
                    @x.Title
                }
            </div>
        </div>
        }
        <div class="form-horizontal">
            <div class="form-group">
                <div class="col-md-1 col-md-offset-2">
                    <input type="submit" value="@MyText.Save" class="btn btn-default" />
                </div>
            </div>
        </div>
    </div>
</form>

【问题讨论】:

    标签: asp.net-mvc razor asp.net-core-mvc


    【解决方案1】:

    正如所写,它不会发生。我猜你要么没有重新加载页面,要么在你演示的代码周围有代码呈现了一个包含这个 div 的 div。

    【讨论】:

    • 好的,为了这个问题,我试图简化代码。现在我也添加了完整的视图代码。这里看不到,但我可以肯定的是,问题与 CSS 无关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-01
    • 2012-06-14
    • 2021-10-28
    • 2021-06-24
    • 2022-01-09
    相关资源
    最近更新 更多