使用Javascript和PartialViews的组合,我有一个项目列表(收藏夹列表),可以通过单击按钮添加到其中或从中删除。
当用户单击"添加到收藏夹"按钮时,所选项目将添加到控制器中的模型(列表)中,并传递到PartialView,然后PartialView显示在带有新添加收藏夹的页面上的页面上。同样,每个收藏夹旁边都有一个删除按钮,单击该按钮后,将从收藏夹列表中删除该特定项目,并刷新PartialView以反映屏幕上的更改。
这一切都很好。当我将网站部署到IIS服务器时,会正确地从列表(以及数据库)中添加和删除项目,但向用户显示该项目的PartialView则不会。手动刷新页面会反映这些更改。
鉴于以上所述,必须手动刷新整个页面确实是不可接受的。
是什么导致了这种类型的问题?我不确定它是否相关,但视觉元素也会发生变化。例如,我的Bootstrap图标在网站的发布版本中消失了,但在调试时运行良好。
我在IE浏览器和谷歌浏览器中都运行过这个网站。
收藏夹按钮的调试版本
收藏夹按钮的发布版本
我不粘贴任何代码的原因是为了让事情尽可能简单,因为这可能只是一个设置问题。如果需要代码,请告诉我,我会尽力创建一个做同样事情的示例代码。
提前谢谢。
更新:
我能够通过将PartialView封装在Ajax.BeginForm:中来解决列表更新的问题
<div id="myFavorites" class="Favorites">
@using (Ajax.BeginForm("Favorites", "Reports", new AjaxOptions { HttpMethod = "Get", UpdateTargetId = "myFavorites" }))
{
{ Html.RenderAction("Favorites", "Reports");}
}
</div>
然后,当我的添加或删除按钮被点击时,我调用该部分来重新加载。
$('#FavoritesCell').click(function () {
$('#myFavorites').load('@Url.Action("Favorites", "Reports")')
});
然而,字形和视觉元素的问题仍然存在。
正如我在更新的问题中所说,我通过用ajax调用包装表单来解决列表更新问题。
引导程序问题已通过打开或关闭Windows功能并检查以下内容得到解决。
- 互联网信息服务
- 万维网服务
- 常见HTTP功能
- 静态内容