Jquery在链接中添加网络文件路径也是添加域名

时间:2014-01-10 16:24:43

标签: c# jquery handlebars.js

尝试执行以下操作

    "{{#each item}}",
    "<li>",
    "   <strong><a class='tp-backlog-desc-group' href={{FilePath}}>{{Name}}</a></strong>",
    "</li>",
    "{{/each}}"

在文件Path中我传递了一条网络路径,即

\存储\摘要\ summaryfile2.txt

但是当我在渲染时点击链接后它会变成

的http://本地主机/ \存储\摘要\ summaryfile2.txt

无论如何,我无法添加域名,因此我的链接可以工作,只是转到网络路径?

1 个答案:

答案 0 :(得分:0)

此字符串\storage\summary\summaryfile2.txt是一个路径,但href需要一个网址,而且它们不是同一个东西。由于您未指定任何协议(例如httpftp),因此浏览器默认为http,并且会将其解析为localhost。只需添加正确的协议(当然客户端必须在同一个域上才能从链接访问网络路径):

"   <strong><a class='tp-backlog-desc-group' href=file://{{FilePath}}>{{Name}}</a></strong>",

如果您没有使用物理路径,但它相对于Web服务器根,那么您必须解决它的服务器端,只需更改您的文件路径(服务器端,当然):

path = Server.MapPath("~" + path);

这样您的网址就会是http://yoursite/storage/summary/summaryfile2.txt。当然它必须对客户端可用,并且路径必须是站点虚拟目录的子节点(由于安全原因,通常无法访问站点根目录以上的路径)。