У меня проблемы с динамическим частичным просмотром данных, исчезающих из текстового поля после httppost. Вот мой сценарий:
Пользователь нажимает кнопку-переключатель, и частичное представление соискателя загружается динамически.
Index.aspx (встроенный JavaScript):
function showCoApplicant() {
$.ajax({
type: "GET",
url: '<%= Url.Action("LoadCoApplicantInfo","Application") %>',
data: {},
dataType: "html",
async: true,
success: function (data) {
$("#CoApplicantInfo").html(data);
}
}); }
ApplicationController.cs:
public ActionResult LoadCoApplicantInfo() {
Configurator.Models.CreditApplicationModel model = null;
if (Session["model"] != null)
model = (Configurator.Models.CreditApplicationModel)Session["model"];
return PartialView("CoApplicant", model);
}
CoApplicant.ascx:
<table>
<tr>
<th>
<%= Html.LabelFor(model => model.CoApplicant.FirstName)%>
</th>
<td>
<%= Html.TextBoxFor(model => model.CoApplicant.FirstName)%>
<%= Html.ValidationMessageFor(model => model.CoApplicant.FirstName)%>
</td>
</tr>
</table>
Пользователь вводит данные и нажимает кнопку отправки. Затем модель проверяется в контроллере. Если ModelState недопустим, я возвращаю представление вместе с моделью в сеансе (я делаю это, потому что мне нужно вернуть эту модель в частичное представление. Это был единственный способ вернуть данные обратно в нее.). На httppost в Javascript я определяю, должно ли отображаться частичное представление соискателя, и если да, я загружаю его снова, вызывая showCoApplicant ().
[HttpPost]
public ActionResult Index(Configurator.Models.CreditApplicationModel model)
{
if (!ModelState.IsValid)
{
Session["model"] = model;
return View();
}
}
Вот где у меня проблема. Данные для соискателя отсутствуют в IE7. Он отлично работает в других версиях IE, Chrome и Firefox. Почему в IE7 отсутствуют данные? Как я могу заставить это показать?