ViewBag、ViewData、TempData は、ビューを初めて呼び出すときに一度だけ呼び出されますか?
ページを更新しないと変更されませんか?
Ajaxを使って変更したいので(10秒ごとにAjaxを呼び出します)
以下のコードを参照してください。
==================== コントローラーで... ======================
public ActionResult OriginView()
{
ViewBag.IntData = 1;
return View();
}
public JsonResult ChangeViewBag(int CurrentInterval)
{
ViewBag.IntData = CurrentInterval;
return Json(new{IntData=CurrentInterval},JsonRequestBehavior.AllowGet);
}
================= 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?*@
});
.ネットの天才ください!!! それが不可能なら、何かアイデアはありますか?