为什么我的ASP.NET程序在调试模式下看起来和运行正常,但在发布到IIS后却没有



使用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功能并检查以下内容得到解决。

  1. 互联网信息服务
  2. 万维网服务
  3. 常见HTTP功能
  4. 静态内容

最新更新