【问题标题】:GridView does not display on ASP.NET page when uploaded to IIS 8.0 server上传到 IIS 8.0 服务器时,GridView 不显示在 ASP.NET 页面上
【发布时间】:2015-10-07 07:38:50
【问题描述】:

我编写了一个脚本(aspx+aspx.cs 页面),它连接到一个 .xls 文件并连续读取多个 Excel 单元格范围,并在多个连续的 GridView 中显示它们的内容,每个范围一个细胞。

问题是代码在我的 Visual Studio Community Edition 2013 上调试时运行良好,但是当我将其上传到生产服务器(即 IIS 服务器 8.0)时,没有任何 Gridview 出现。

我在 .aspx 页面上有一些标签,这些标签正在显示,但 GridView 没有。

我在 web.config 中模拟了应用程序,用户应该有权访问服务器上的资源。如果我使用该用户连接到服务器(与我用来模拟应用程序相同)并使用相同的路径来寻址 Excel 文件,那么我可以打开/查看 Excel 文件。

我尝试了多个版本来写下路径,但似乎都不起作用。即使C:\Name_of_the_Excel_File.xls(将 Excel 文件保存在托管 IIS 的服务器的 C:\ 的根目录中之后)也无法正常工作。在 IIS 上托管时,似乎在任何情况下,aspx 应用程序都无法从 Excel 文件中读取。例如:

 <connectionStrings>
    <add name="xls" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\srv***\l***\9*****\9***\****M.xls;Extended Properties=Excel 8.0"/>

  </connectionStrings>

您对导致此行为的其他原因有什么建议(为什么在 IIS 服务器上上传应用程序时 GridView 不显示)?

【问题讨论】:

  • 您是否尝试过检查 File.Exists 在您的代码隐藏中是否为真?

标签: c# asp.net excel iis gridview


【解决方案1】:

无论如何,谢谢。

即使您没有为我提供有关此问题的解决方案,我也会在需要时来到 stackoverflow.com 社区寻求许多宝贵的帮助。

这次我自己找到了解决办法:

也就是说我不得不

找到网站使用的应用程序池的“启用32位应用程序”设置,将其从False改为True:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-06
    • 2016-12-21
    • 2013-08-06
    相关资源
    最近更新 更多