Salut les gars j'ai contrôleur qui renvoie une vue partielle, le contrôleur est appelé par un script ajax. La vue partical n'a aucun problème à afficher viewdata pour la première fois, mais lorsque le script ajax est invoqué une seconde fois, la vue partical ne le met pas à jour avec de nouveaux viewdata.Viewdata ne montre pas en vue partielle
Codepour le contrôleur
[HttpGet]
public ActionResult getPart(int id)
{
ViewData["partical"] = id;
return PartialView("test");
}
code
pour une vue partielle
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<PovertyBayHotel.Models.testmodel>" %>
<p>just a test</p>
<%: ViewData["partical"]%>
et ajax qui appellent le contrôleur
<script type="text/javascript">
$(document).ready(function() {
$("#DropDown").change(function() {
var course = $("#DropDown > option:selected").attr("value");
$.ajax({
type: 'GET',
url: '/Reservation/getPart',
data: { id: course },
success: function (data) {
$('#ExtraBox').replaceWith(data);
}
});
});
});
</script>
peut être un problème de mise en cache. Essayez HTTP POST au lieu de GET. – tugberk
essayé les deux ne semble pas fonctionner :( –
essayé de déboguer votre code? Pouvez-vous poster la réponse HTTP (en-têtes et etc.) que vous obtenez? – tugberk