Benötigen Sie Hilfe beim Aktualisieren partieller Ansichten in MVC von Ajax Anruf. Meiner Ansicht page.cshtmlRefresh Teilansicht
<div id="tblOptions">
@Html.DropDownListFor(model => model.State , new SelectList(), new {id="ddlstate"})
@html.HiddenFor(model => model.optionsId)
@Html.CheckBoxFor(model => model.PrintAddress)
........
</div>
Auf Seite das Modell laden ist richtig und alle Kontrollkästchen gefüllt korrekt ausgefüllt. Jetzt onChange Ereignis von Dropdownlist, muss ich mit neuen Modellwerte der Kontrollkästchen füllen,
ich einen Ajax-Aufruf haben, die JsonResult kehrt
$(document).on('change', '#ddlstate', function() {
$.ajax({
type: 'GET',
url: '/Home/CallonChange',
contentType: 'application/html; charset=utf-8',
data: { PersonCode: '@Model.PersonCode', selectedstate: $('#ddlState').val() },
dataType: 'json',
beforeSend: function (jqXHR, settings) {
$('tblOptions').html('');
}
})
.done(function (data, textStatus, jqXHR) //success callback
{
if (data != null) {
// not loading
$('tblOptions').html(data);
}
else { //display error message
}
})
.fail(function (jqXHR, textStatus, errorThrown) //error callback
{
//display error message
});
});
});
Sein das neue Modell in JSON Ergebnis Rückkehr, aber die Teilansicht lädt nicht mit den neuen Werten neu.
In Controller habe ich zwei Regler, ein auf Last genannt und ein auf Selection
[HttpGet]
public ActionResult CallOnLoad(string PersonCode, string selectedstate = "") {
ModelA a = new ModelA(PersonCode, selectedstate);
return PartialView("Home/page", options);
}
[HttpGet]
public JsonResult CallonChange(string PersonCode, string selectedstate= "")
{
ModelA a = new ModelA(PersonCode, selectedstate);
return Json(options, JsonRequestBehavior.AllowGet);
}
Ich bin nicht in der Lage, die Teilansicht aufgerufen neu zu laden. Was mache ich falsch? Ich weiß, es ist ziemlich dumm irgendwo, aber ich kann es nicht herausfinden.
Vielen Dank.
Vielen Dank für die Hilfe! Es klappt! –