说一说asp.net页面,IE无法打开共享目录超链接的问题

来源:互联网 发布:js 除以2 编辑:程序博客网 时间:2024/04/30 10:08

这几天又遇到了一个比较奇葩的问题,解决方案不是很难,但是如果不知道的话,还是比较烦(本人困扰了两天)。

先来讲一讲问题所在。博主本来写了一个asp.net页面上的超链接。


<asp:Content ID="ContentMuse" ContentPlaceHolderID="ContentPlaceHolderMDL" runat="server">    <div>        <h1>Upload</h1>        <br />        <asp:Panel ID="mainPanel" runat="server">                <table>....</table>            </asp:Panel>        <br />    <span style="white-space:pre"></span> <a href="file:///\\10.6.1.111\d">here</a>    </div></asp:Content>
source很简单,主要的问题出现在

<a href="file:///\\10.6.1.111\d">here</a> 

        这段代码在VS2012本地调试的时候没有任何问题。但是客户反映,source经发布到IIS服务器之后就挂了。具体表现为,点击超链接没有任何反应。

我测试的时候,使用的是另外一台电脑,打开超链接完全没有问题。于是赶紧远程到客户的机器那里确认了一下,的确是打不开。

当时有以下的几个猜想:

①共享文件夹权限问题。

②IE版本问题。

③IIS配置问题。

④source问题。

⑤主机的hosts,路由问题

source和共享权限问题是最先排除的,因为我在测试的机器上完全可以打开。

经过一番折磨,hosts和路由也被排除了。在此提出一个小插曲,打开网站的时候如果用http://localhost/....打开网站,超链接没有问题。但是如果使用ip访问就跪了,于是好奇ipconfig了一下,才发现那台机器有3个ip。。。于是一个一个试,过程不再叙述。

IIS的check过程中,我想到使用虚拟目录,这样可以直接在网站下面link到共享目录,经过试验是没有问题的。但是目录奇丑无比。。。。

最后不得已,IE开始从IE11一级一级往下降。效果不明显。客户那里是IE9,我当时测试用的是IE6,。于是一一比对,发现问题来了。

internet选项中添加你的网站到信赖列表,具体参照 http://jingyan.baidu.com/article/6f2f55a1876bafb5b93e6c99.html。

这样可能还是解决不了问题,那么就在同标签下,取消勾选“启用保护模式”。重启浏览器,OK啦~~

这次经历锻炼了意志力和吐血能力。。。。。。。

另:

期间我也查了不少相关的问题,发现很多解决方案是修复IE的bat,在此本人经过测试之后,认为此方法有扯淡嫌疑。

深层次方面的原因在csdn上貌似有见过稍微靠谱点的:IIS的权限比VS调试的时候低。也间接说明了为什么localhost可以成功——因为权限高,可以绕开保护阻拦。

也发现曾经有很多人也遇到过这样问题,但网上都没有明确给出解决方案。希望可以帮助到一些人。微笑




0 0
原创粉丝点击