【发布时间】:2017-01-04 17:34:52
【问题描述】:
结合使用 Javascript 和 PartialViews,我有一个项目列表(收藏夹列表),我可以通过单击按钮添加或删除。
当用户单击“添加到收藏夹”按钮时,所选项目将添加到 Controller 中的模型(列表)中,并传递给 PartialView,然后在页面上显示新添加的收藏夹。同样,每个收藏夹旁边都有一个删除按钮,单击该按钮时,将从收藏夹列表中删除该特定项目,并刷新 PartialView 以反映屏幕上的更改。
这一切都很好。当我将站点部署到 IIS 服务器时,会正确地从列表(以及数据库)中添加和删除项目,但向用户显示此内容的 PartialView 却没有。手动刷新页面会反映这些更改。
综上所述,手动刷新整个页面确实是不可接受的。
导致此类问题的原因是什么?我不确定它是否相关,但视觉元素也会发生变化。例如,我的 Bootstrap 图标在网站的已发布版本中消失了,但在调试时工作正常。
我已在 Internet Explorer 和 Google Chrome 中运行该网站。
Debug Version of Favorites Button
Published Version of Favorites Button
我不粘贴任何代码的原因是为了让事情尽可能简单,因为这可能只是一个设置问题。如果需要代码,请告诉我,我会尽力创建一个执行相同操作的示例代码。
提前谢谢。
更新:
我能够通过将我的 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")')
});
但字形和视觉元素的问题仍然存在。
【问题讨论】:
-
我还是新手,请告诉我为什么会投反对票。
标签: asp.net-mvc visual-studio iis-6