0
我有一個視圖,其中包含一些javascript。當我需要的數據準備就緒時(來自indexeddb),javascript會調用一個回調函數。ASP.NET MVC在部分視圖中使用javascript值
這個數據,我想傳遞給一個局部視圖 - 我該怎麼做?我似乎無法使用ViewData,因爲一旦頁面呈現就會過期(因此,在收到回調之前)。有任何想法嗎?代碼在這裏:
<div>
<script type="text/javascript">
var somecallback = myFunctionDefinedSomewhere();
somecallback.onsuccess = function(evt) {
console.log("Success!");
var iReallyNeedThisVariable = evt.id;
@ViewData["iReallyNeedThisVariable"] = iReallyNeedThisVariable;
}
</script>
@for (int i = 0; i < Model.MyCollection.Count; i++)
{
if (i == 0)
{
@Html.Partial("_MyPartialView", Model.MyCollection.ElementAt(i), new ViewDataDictionary { { "Stuff", true }, { "iReallyNeedThisVariable", @ViewData["iReallyNeedThisVariable"] } });
}
else
{
@Html.Partial("_MyPartialView", Model.MyCollection.ElementAt(i), new ViewDataDictionary { { "Stuff", false }, { "iReallyNeedThisVariable", @ViewData["iReallyNeedThisVariable"] } });
}
}
</div>
您正在使用JavaScript混合使用服務器端代碼。你不能從JavaScript設置'ViewBag'。相反,您需要對「Controller Action」進行「AJAX POST/GET」調用,然後獲得「PartialView或JSON數據」並在您的主視圖中使用它。 – ramiramilu
我試圖避免任何服務器端代碼 - 即時消息使用服務工作者在離線時使站點工作 – user1202032
不幸的是,您不能這樣做 –