J'essaie de montrer un détail partialview en utilisant ajax et colorbox. Cela fonctionne bien mais seulement la première fois. Après cela, GetGraph n'est pas exécuté et la première image est à nouveau affichée. Si je recharge toute la page, cela recommence une fois. Le detailinfo met à jour OK c'est juste le chartimage qui ne fonctionne pas.Image dynamique et Ajax dans ASP.NET MVC
Voici ce que j'ai jusqu'à présent:
jQuery:
<script type="text/javascript">
$(document).ready(function() {
$("a.details").click(function() {
var id = $(this).attr("href");
$.post('GetDetails', { id: id }, function (data) {
$.fn.colorbox({ open: true, html: data });
});
return false;
});
})
</script>
actions: Contoller
[Authorize(Roles = "Statistics")]
public ActionResult GetDetails(string id)
{
var user = MemberShipRepository.GetUserInfo(User.Identity.Name);
var details=StatisticsService.GetSaleDetail(user.UserId, id);
var chart = StatisticsService.CreateChart(details.MontlySales);
TempData["Chart"] = chart;
ViewData.Model = details;
return View();
}
public ActionResult GetChart()
{
var file = TempData["Chart"] as byte[];
return File(file, "image/png");
}
Vue partielle:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<SaleDetail>"%>
<table>
<!--Code for displaying detailinfo-->
</table>
<div id="DetailsGraph">
<h3>
<%=Html.Encode(ResStrings.StatsticStrings.Statistic) %></h3>
<img src="GetChart" width="700" height="300" alt="Graph" />
</div>
Désolé, peut-être que mon message n'est pas clair. GetDetails reçoit les détails, GetChart est appelé directement à partir de la vue partielle dans la balise . – Zwempha