【问题标题】:Why does my ASP.NET program look and function properly in Debug mode, but does not once published to IIS?为什么我的 ASP.NET 程序在调试模式下看起来和运行正常,但一旦发布到 IIS 就没有了?
【发布时间】: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


【解决方案1】:

正如我更新的问题中所述,我通过将表单包装在 ajax 调用中解决了列表更新问题。

通过转到打开或关闭 Windows 功能并检查以下内容,解决了 Bootstrap 问题。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-17
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-20
    相关资源
    最近更新 更多