如何从aspx页面打开存储在客户端机器上的HTML页面

时间:2010-06-16 06:17:32

标签: asp.net html

我正在开发asp.net应用程序,我在该页面上打开存储在客户端计算机上的HTML页面我有一个链接,它将在服务器上打开aspx页面,在那个aspx页面上我有一个按钮可以打开另一个存储在客户机上的html页面。 由于我是网络开发的新手,Plz帮助我并尽快为我提出一些解决方案。

...谢谢

已编辑添加:

是否可以在客户端计算机上的HTML页面和服务器上的ASPX页面之间导航,而无需在服务器上上载HMTL文件。我可以在aspx页面上使用一些javascript代码来打开我本地存储的HTML页面......

5 个答案:

答案 0 :(得分:4)

试试这个 <a href="file:///c:\whatever.txt">click to open whatever</a>

答案 1 :(得分:1)

您可以在客户端计算机上访问文件的唯一方法是将其上传给您。

答案 2 :(得分:0)

无法可靠地执行此操作,因为服务器不知道HTML页面的位置(驱动器,目录)。

如果您解释为什么要这样做,也许我们可以建议另类设计。

答案 3 :(得分:0)

不太确定你在问什么,但是应该创建一个打开的文件对话框。如果您希望ASPX页面读取用户本地计算机上的HTML文件,则需要上传它。

答案 4 :(得分:0)

如果我理解正确,你有两个问题:

  1. 您需要从aspx页面重定向到本地html页面
  2. 您需要从本地html页面重定向回服务器页面
  3. 要解决nr 1 ,您需要知道客户端计算机上html页面的绝对位置路径(即C:\ SomePath \ LocalFile.html),然后在那里进行链接:< / p>

     <a href="file:///C:\SomePath\LocalFile.html">
    

    不,不可能从javascript访问本地文件。

    最多可以要求用户指向本地文件(即通过文件上传输入),然后拦截该事件并使用该文件的路径。

       window.location.href=document.getElementById('fileInput').value;
    

    但即使这样也存在问题,因为它在某些浏览器中无效等等。

    要解决nr2 ,您可能需要添加一些javascript(默认情况下关闭本地html文件!!)并使用“history.previous”来检测公共aspx的路径页。按顺序排列:

       window.location.href= history.previous.replace("myfirstpage.aspx","redirectedpage.aspx"); 
    

    将从“http://www.publicserver.com/myfirstpage.aspx”发送到当前页面的某个人,将被重定向到“http://www.publicserver.com/redirectedpage.aspx”,