![](/img/trans.png)
[英]Is it possible use some JavaScript on a Partial View in ASP.NET MVC?
[英]ASP.NET MVC Use javascript value in partial view
我有一个带有一些javascript的视图。 当我需要的数据准备就绪(来自indexeddb)时,javascript具有一个回调函数。
我想将此数据传递给局部视图-我该怎么做? 我似乎无法使用ViewData,因为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(或Service Workers
)进行AJAX POST/GET
调用,然后作为响应,获取PartialView
或JSON Data
并在主视图中使用它。
更新: OP确认Service Worker的Fetch事件支持AJAX调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.