Возникли проблемы со скрытием полей в ASP.NET core 2.0 - как это сделать правильно, не комментируя? - PullRequest
0 голосов
/ 20 мая 2018

У меня есть приложение, в котором я хочу скрыть некоторые текстовые поля и выпадающие списки, которые имеют некоторые значения по умолчанию, потому что именно для конечных пользователей поля, которые они вводят, ограничены, и их не нужно видеть для создания и редактирования.

Когда они видны, все работает нормально.

Можно ли сделать их скрытыми, но при этом все еще иметь значения по умолчанию, чтобы он успешно сохранялся.Под стандартным .net MVC я мог бы сделать это без проблем, даже сделав поля скрытыми, но не под ядром .net.В традиционном MVC был такой код:

      <div class="form-group">
        @*@Html.LabelFor(model => model.Priority, "Priority", htmlAttributes: new { @class = "control-label col-md-2" })*@
        @Html.HiddenFor(model => model.Priority, "Priority")
        <div class="col-md-10">
            @*@Html.DropDownList("Priority", null, htmlAttributes: new { @class = "form-control" })*@
            @Html.DropDownList("Priority", null, htmlAttributes: new { @class = "hidden" })
            @Html.ValidationMessageFor(model => model.Priority, "", new { @class = "text-danger" })
        </div>
    </div>

.net основные леса с использованием синтаксиса, например

            <div class="form-group">
            <label asp-for="Priority" class="control-label"></label>
            <select asp-for="Priority" class="form-control" asp-items="ViewBag.Priority"></select>
        </div>

Простое комментирование полей вызывает всевозможные проблемы и большую работу.Какой синтаксис подходит для сокрытия текстовых полей и выпадающих списков?Спасибо

1 Ответ

0 голосов
/ 20 мая 2018

Если вы просто хотите применить класс hidden к нему, то вы можете просто включить его в атрибут class тега:

<select asp-for="Priority" class="hidden" asp-items="ViewBag.Priority"></select>

Помните, что помощники тегов - это просто обычные элементы HTML снемного волшебства сверху, поэтому обычно вы можете обращаться с ними как с обычными тегами HTML, что также означает, что вы можете добавить все обычные атрибуты HTML, как вы это обычно делаете.

Если вы действительно хотите создать скрытое поле(вместо некоторого ввода, имеющего класс hidden), вы можете просто отобразить элемент input типа hidden:

<input type="hidden" asp-for="model.Priority" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...