Ich habe Probleme mit dynamischen Teilansicht Daten verschwinden aus dem Textfeld nach einem httppost. Hier ist mein Szenario:MVC Dynamic Teilansicht Daten verschwinden in IE7
Der Benutzer klickt ein Optionsfeld und die Coapplicant Teilansicht wird dynamisch geladen.
Index.aspx (Embedded 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>
Der Benutzer gibt in Daten, und klickt auf die Schaltfläche "Senden" Das Modell wird dann in der Steuerung validiert. Wenn der ModelState ungültig ist, gebe ich die Ansicht zusammen mit dem Modell in der Sitzung zurück (ich tue dies, weil ich dieses Modell zur Teilansicht zurückgeben muss. Dies war der einzige Weg, um die Daten zurück zu bekommen.). Auf httppost, in Javascript, bestimme ich, ob die Coapplicant-Teilansicht angezeigt werden soll, und wenn ja, lade ich sie erneut, indem ich showCoApplicant() aufruft.
[HttpPost]
public ActionResult Index(Configurator.Models.CreditApplicationModel model)
{
if (!ModelState.IsValid)
{
Session["model"] = model;
return View();
}
}
Dies ist, wo ich das Problem habe. Die Daten für den Coapplicant fehlen in IE7. Es funktioniert gut in anderen Versionen von IE, Chrome und Firefox. Warum fehlen die Daten im IE7? Wie kann ich es zeigen?
Das hat den Trick! Vielen Dank!! – Trisney