MVC BeginCollectionItem Скрытый индекс <li>

Я использую BeginCollectionItem HTMLHelper. Это работает как шарм, но это портит макет, который я использую. BeginCollectionItem отображает <ul> а также <li> скрыть скрытые поля (которые содержат уникальные индексы). Таким образом, каждая строка в вашей коллекции будет генерировать <li>,

Когда вы заполняете свою таблицу BeginCollectionItem, она генерирует следующее выше <table>,

<ul>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>

Вопрос: я не хочу тех <li> а также <ul> в любом случае быть видимым, поскольку содержимое этих "скрытых полей". Как мне этого добиться?

Спасибо за помощь,

1 ответ

Решение

Вам просто нужно отредактировать файл шаблона, который называется Collection.cshtml и проживает в Views/Shared/EditorTemplates папка в вашем проекте.

По умолчанию это выглядит так:

@using HtmlHelpers.BeginCollectionItem

<ul>                                 
    @foreach (object item in Model)
    {
        <li>
            @using (Html.BeginCollectionItem(Html.ViewData.TemplateInfo.HtmlFieldPrefix))
            {
                @Html.EditorFor(_ => item, null, "")
            }
        </li>
    }
</ul>

Так что просто отредактируйте его в соответствии с вашими потребностями (возможно, просто удалив ul а также li теги.

Другие вопросы по тегам