asp.net mvc中的Javascript更新部分视图

asp.net mvc中的Javascript更新部分视图,javascript,asp.net-mvc,Javascript,Asp.net Mvc,我目前有一个javascript代码,应该每3秒钟更新一次我的部分视图。 但由于某种原因,它不工作,它自己工作的计时器 <script> setInterval(function () { var obj = document.getElementById("menubar"); obj.innerHTML = "@Html.Partial("/Views/Menu.cshtml")"; }, 3000); </script&

我目前有一个javascript代码,应该每3秒钟更新一次我的部分视图。 但由于某种原因,它不工作,它自己工作的计时器

   <script>
   setInterval(function () {
       var obj = document.getElementById("menubar");
       obj.innerHTML = "@Html.Partial("/Views/Menu.cshtml")";
   }, 3000);
   </script> 

setInterval(函数(){
var obj=document.getElementById(“菜单栏”);
obj.innerHTML=“@Html.Partial(“/Views/Menu.cshtml”)”;
}, 3000);
这是我的代码,我是javascript新手。所以我不知道怎么了。 我也试着展示我的课程,但也没有成功


有什么帮助吗?

创建如下操作

public ActionResult Menu()
{
    return View();
}
最好将部分视图保留在共享文件夹中

你的javascript

<script>
   setInterval(function () {
       $("#menubar").empty().load('/{controller_name}/Menu');
   }, 3000);
</script>

setInterval(函数(){
$(“#菜单栏”).empty().load('/{controller_name}/Menu');
}, 3000);
将{controller_name}替换为实际的控制器名称


代码的问题是您将部分视图的输出粘贴到javascript中,因此每次运行setIntervel时,它都是从javascript中拾取输出,而不是从服务器请求

我发现它确实有效,但是部分视图中的会话不会得到更新。我使用ajax保持在同一页面上,但这导致asp.NETMVC无法更新会话。有什么解决方案吗?假设您使用jquery for ajax。