У меня есть экран поиска, который дает результаты в постраничном списке. При смене страницы мне нужно получить значения модели методом GET в контроллере. Хотя мне удалось передать свойства модели, которые являются строками, у меня возникла проблема с передачей списка строк.
Код просмотра:
<div class="divSearch">
<div class="divCriteria">
<div class="row">
<div class="col-md-6">
@Html.LabelFor(m => m.Name)
@Html.TextBoxFor(m => m.Name, new { @class = "form-control" })
</div>
<div class="col-md-6">
@Html.LabelFor(m => m.Owner)
@Html.TextBoxFor(m => m.Owner, new { @class = "form-control" })
</div>
</div>
<br />
<div class="row">
<div class="col-md-6">
@Html.LabelFor(m => m.County)
@Html.ListBoxFor(model => model.County, Model.CountiesList, new { @class = "form-control", multiple = "multiple" })
</div>
</div>
<br />
<div class="row">
<div class="right">
<button type="submit" class="btn btn-primary"><i class="fa fa-share-square-o"></i>Search</button>
</div>
</div>
</div>
<div class="divResults">
<div class="table-responsive">
<table class="table table-hover table-advance dataTable">
<thead>
<tr>
<th style="display:none">ID</th>
<th>Name</th>
<th>Type</th>
<th>County</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model.SearchList)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
@Html.HiddenFor(modelItem => item.ID)
</td>
<td>
@Html.DisplayFor(modelItem => item.Type)
</td>
<td>
@Html.DisplayFor(modelItem => item.County)
</td>
</tr>
}
</tbody>
</table>
</div>
</div>
@if (Model.SearchList != null)
{
var county = new List<string>();
foreach (var item in Model.County)
{
county.Add(item);
}
@Html.PagedListPager(Model.SearchList, Page => Url.Action("Index", "FacilityFinder", new RouteValueDictionary() { { "Page", Page }, { "name", Model.Name }, { "owner", Model.Owner }, { "county", county} }),PagedListRenderOptions.PageNumbersOnly)
}
Код контроллера:
public ActionResult Index(int? page=null,string name = null, List<string> county=null,string owner = null)
{
}
Значение для имени и владельца в контроллере в порядке, но список округов дает мне System.Collections.Generic.List`1[System.String]
Я что-то упускаю?