小编the*_*ube的帖子

链接到网络上的目录

所以我正在使用ASP.NET MVC开发Intranet Web应用程序,我需要创建一个指向网络上文件夹的链接.所以,举一个例子,假设我想创建一个指向"C:\"的链接,这个uri存储在.我认为最简单的方法是创建一个常规链接,如下所示:site.DocsPath

<a href="file:///<%= site.DocsPath %>">Documents</a>
Run Code Online (Sandbox Code Playgroud)

这解决了:

<a href="file:///C:\ruby">Documents</a>
Run Code Online (Sandbox Code Playgroud)

但是,当您单击链接时,没有任何反应.这基本上就像点击普通文字一样; 绝对没有任何反应.没有重定向,没有.我在Firefox和IE中都试过这个,这两种情况都发生了同样的行为.

最初我认为它可能是斜线.所以我粘贴file:///C:\ruby到地址栏,看看它是否正确.有效.我在Firefox和IE中都尝试了这个,它在两者中都有用.

所以现在,我在想"嘿,也许我的HTML由于某种原因不合适".所以我创建了一个小的html页面,如下:

<html>
<head><title>Test Page</title></head>
<body>
    <a href="file:///C:\ruby">Documents</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

并且看哪.....它工作了.我点击链接,它实际上是在链接之后.这适用于Firefox和IE.

所以现在我很困惑.在两种情况下(通过ASP.NET MVC和静态HTML),HTML都完全相同.然而它只适用于静态HTML案例.


现在,我只是拉着稻草.我试着粘贴

<a href="file:///C:\ruby">Documents</a>
Run Code Online (Sandbox Code Playgroud)

直接进入ASP.NET MVC中的ViewPage .,不行.

然后我尝试将一个随机网站静态粘贴到ViewPage中,如:

<a href="http://www.google.com">Supreme Overlord of the Internet</a>
Run Code Online (Sandbox Code Playgroud)

这很有效.所以,现在我已经确认ASP.NET实际上可以遵循手工生成的链接.

现在,没有什么可做的,我做了一些疯狂的事情.我将链接设置为不存在的位置,例如:

<a href="file:///X:\this\doesnt\exist">I Hate ASP.NET MVC right now</a>
Run Code Online (Sandbox Code Playgroud)

Firefox坚持使用它并不遵循它.然而,IE实际上遵循它并给我一个错误页面.如果site.DocsPath …

browser asp.net directory asp.net-mvc

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

asp.net ×1

asp.net-mvc ×1

browser ×1

directory ×1