J'ai un ActionResult nommé « MyPeriods (string dateSelected) » et à la fin de celui-ci, j'ai un vidéotex [ « périodes »] = listOfPeriods (et après cela, je mon point de vue de retour(), fininshing ma méthode). Lorsqu'aucune "date" n'est passée, "date" est aujourd'hui, sinon "date" est la date passée en argument. Et cette "date" est importante pour sélectionner toutes les périodes et les événements qui s'y rapportent. Donc, mon ActionResult envoie une liste de périodes à ma vue. À mon avis, je:Comment puis-je mettre à jour un contenu de page avec jQuery Ajax et ASP.NET MVC?
<div id="divEventsPeriods">
<% foreach(UserPeriod period in in (IEnumerable)ViewData["periods"])
Response.Write("<div>PERIOD: " + period.hourBeg + " - " + period.hourEnd + "</div>");
foreach(UserEvents event in period.UserPeriod) {
Response.Write("<div>EVENT: " + event.date + "<br />");
Response.Write("DESCRIPTION: " + event.description + "</div>");
}
%>
</div>
Alors, lorsque je sélectionne une date dans jQuery DatePicker, cette date choisie est passé comme argument à mon ActionResult et tout le processus se produit. Et, à la fin de tout, ma page actualise rendant toutes les périodes et les événements de la date sélectionnée. Une période peut avoir plusieurs événements. Donc, la question est: comment puis-je passer cette date sélectionnée à mon ActionResult, rendant tout le processus se produit et la page est mise à jour sans rafraîchir?
J'ai essayé cela sur l'option DatePicker onSelect:
$.ajax({
type: 'GET',
url: '/Admin/Schedule/MyPeriods/?dateSelected=' + dateSelected,
data: dateSelected
});
Lorsque je sélectionne une date, la .ajax $ est appelé et le débogage je pouvais voir que la date choisie est transmis correctement à mon ActionResult et le processus se produit, mais la page n'est pas mise à jour.
Qu'est-ce que je fais mal ??
Merci d'avance !!
J'ai ajouté un callback réussi ... cela a fonctionné partiellement. J'ai ajouté: succès: function (html) { $ ("# divPeriodsEvents"). Append (html); } J'ai également essayé $ ("# divPeriodsEvents"). Text (html); mais ce n'était pas bon aussi. – AndreMiranda
Essayez-vous de remplacer tout le contenu? Si c'est le cas, vous voulez utiliser $ ('# divPeriodsEvents') .html (html) Je suppose que les données que vous récupérez sont correctes et que c'est juste l'affichage des données qui ne fonctionne pas – tvanfosson
Exactement! de l'ActionResult est correct, mais l'affichage de ces données n'est pas correct J'ai également essayé maintenant $ ('# divPeriodsEvents "). html (html), mais ce nouveau contenu est inséré dans ma page. J'ai ma page et ce nouveau contenu apparaît à l'intérieur de ma page, comme une nouvelle page ... page intérieure – AndreMiranda