/ / ViewBag ändern mit AJAX in ASP.NET MVC3 - Ajax, ASP.net-Mvc, Exchange-Server, Viewbag

ViewBag Änderung mit Ajax in ASP.NET MVC3 - Ajax, ASP.net-Mvc, Exchange-Server, Viewbag

ViewBag, ViewData, TempData werden beim ersten Aufruf der Ansicht nur einmal aufgerufen?

Und nie ändern, wenn ich die Seite nicht aktualisiere?

Weil ich mit Ajax wechseln möchte (alle 10 Sek. Rufe ich Ajax an)

PLZ siehe unten Code,

==================== im Controller ... ============================

 public ActionResult OriginView()
{

ViewBag.IntData = 1;

return View();

}


public JsonResult ChangeViewBag(int CurrentInterval)
{

ViewBag.IntData = CurrentInterval;

return Json(new{IntData=CurrentInterval},JsonRequestBehavior.AllowGet);

}

================= in OriginView.cshtml ... ============================

 var CurrentInterval = 2

$.getJSON("@Url.Action("ChangeViewBag","Controller")", {CurrentInterval:CurrentInterval},function(response){

@*CurrentInterval++ every ten sec, I want to use CHANGED ViewBag here!*@

alert(@ViewBag.IntData) @*but **Result is still 1**, unchanged!*@

alert(response.IntData) @*ofcourse I can use it in this way. *@

@* but I should use below ASP.NET CODE

@{
string TimeData = DateTime.Now.AddSeconds(**ViewBag.IntData**).ToString();
}

***The position is impossible to javascript variable.*** right?*@
});

. NET-Genie bitte !!! Wenn es unmöglich ist, Irgendeine Idee?

Antworten:

2 für die Antwort № 1

ViewData / ViewBag(Dies ist ein Wrapper herum ViewData) werden verwendet, um Daten zwischen einem Controller und einer View zu übergeben Sie werden in jeder Anfrage neu erstellt, egal ob es AJAX oder normal ist. Sie helfen dir nicht, den Staat zu erhalten :(