У меня есть пользовательский элемент управления: VendorDDL.ascx, со следующим кодом:ASP.NET MVC - PartialView не освежающие
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<List<MeetingCalendar.Models.Vendor>>" %>
<table>
<tr>
<th></th>
<th>
VendorId
</th>
<th>
VendorName
</th>
</tr>
<% foreach (var item in Model) { %>
<tr>
<td></td>
<td>
<%= Html.Encode(item.VendorId) %>
</td>
<td>
<%= Html.Encode(item.VendorName) %>
</td>
</tr>
<% } %>
</table>
Мое мнение: Create.aspx, имеет следующий фрагмент кода:
<p>
<label for="VendorNameSearch">Vendor Name:</label>
<input type="text" name="VendorNameSearch" id="VendorNameSearch" style="width:100px" />
<input type="submit" value="search" />
</p>
<% Html.RenderPartial("VendorDDL", MeetingCalendar.Controllers.HomeController.VendorsToSelect); %>
И все отлично работает, когда я загрузить Создать вид. Элемент VendorDDL заполняется значениями по умолчанию, которые находятся в VendorsToSelect. Мой контроллер имеет List<Vendor> VendorsToSelect
, который обновляется должным образом.
В этом случае проблема: когда пользователь нажимает кнопку SEARCH, это приводит к отключению кода в контроллере: return PartialView("VendorDDL", VendorsToSelect);
Я вижу, что VendorsToSelect правильно заполняется на основе поиска пользователя.
Я могу выполнить код по строке и увидеть, что сразу после return PartialView("VendorDDL", VendorsToSelect);
отладчик переходит непосредственно к VendorDDL.ascx, и я вижу, что модель правильно заполнена новым VendorsToSelect и item.VendorId и item.VendorName показывают правильные значения. Но когда выполняется отладка и отображается представление «Создать», элемент управления VendorDDL не отображает новые данные.
Любые предложения?