Помощник ListBoxFor отображает элементы <select>
с атрибутом multiple="multiple"
, позволяющие выбирать несколько элементов.Если вы хотите что-то еще, вы не должны использовать этот помощник.Итак, вы сказали, что вам нужна таблица HTML.
Теперь в коде, который вы показали, что-то не так.Вы звоните Lookup.Models.myService.Search
внутри представления.Представления не должны извлекать данные из некоторых мест.Предполагается, что они отображают только те данные, которые передаются им в виде моделей представлений действием контроллера.Так что этот призыв не должен быть сделан в представлении.Это должно быть сделано заранее, и результат должен быть сохранен как свойство в вашей модели представления:
public IEnumerable<SelectListItem> Items { get; set; }
В любом случае.Первая возможность - написать разметку самостоятельно:
<table>
<thead>
<tr>
<th>Value</th>
<th>Text</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model.Items)
{
<tr>
<td>@item.Value</td>
<td>@item.Text</td>
</tr>
}
</tbody>
</table>
Конечно, переписывать этот код снова и снова может быть громоздко.Таким образом, вы можете использовать его в DisplayTemplate.Например, вы можете поместить его в ~/Views/Shared/DisplayTemplates/MyTableTemplate.cshtml
, а затем, когда вам понадобится отобразить его в виде, вы можете использовать:
@Html.DisplayFor(x => x.Items, "MyTableTemplate")