Hallo Leute, ich habe Controller, der eine Teilansicht zurückgibt, der Controller wird von Ajax-Skript aufgerufen. Die particale Ansicht hat kein Problem, viewdata zum ersten Mal anzuzeigen. Wenn das ajax-Skript jedoch zum zweiten Mal aufgerufen wird, aktualisiert sich die particale Ansicht nicht selbst mit neuen viewdata.Viewdata nicht in Teilansicht
Code für Controller
[HttpGet]
public ActionResult getPart(int id)
{
ViewData["partical"] = id;
return PartialView("test");
}
Code für Teilansicht
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<PovertyBayHotel.Models.testmodel>" %>
<p>just a test</p>
<%: ViewData["partical"]%>
und die ajax dem der Controller
<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>
könnte ein Caching-Problem sein. Versuchen Sie HTTP POST anstelle von GET. – tugberk
versucht, beide es scheint nicht zu funktionieren :( –
versucht, Ihren Code zu debuggen? Können Sie die HTTP-Antwort (Header usw.), die Sie bekommen? – tugberk