【问题标题】:how to open HTML page stored on client machine from aspx page如何从 aspx 页面打开存储在客户端计算机上的 HTML 页面
【发布时间】:2010-06-16 06:17:32
【问题描述】:

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

谢谢....

编辑添加:

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

【问题讨论】:

  • 您的设计有问题 - 也许您尽快创建所有页面。重新设计您的程序,以其他方式完成您的工作。

标签: asp.net html


【解决方案1】:

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

【讨论】:

  • 我的 HTML 页面在客户端机器上, 不允许 aspx 服务器页面打开这个文件。
  • @shania:实际上这工作如果你知道哪个目录包含用户的html文件......你可能不知道。
【解决方案2】:

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

【讨论】:

  • 我不认为他们想要访问文件,而是想要为用户触发“打开文件”命令。
【解决方案3】:

不能可靠地做到这一点,因为服务器不知道 HTML 页面在哪里(什么驱动器,什么目录)。

如果您解释为什么要这样做,也许我们可以提出替代设计。

【讨论】:

    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

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

      1. 您需要从您的 aspx 页面重定向到本地 html 页面
      2. 您需要从本地 html 页面重定向回您的服务器页面

      要解决 nr 1,您需要知道客户端计算机上 html 页面的绝对位置路径(即 C:\SomePath\LocalFile.html),然后在此处创建链接:

       <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”,

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-14
        • 1970-01-01
        • 2011-02-02
        • 1970-01-01
        • 2011-01-30
        • 1970-01-01
        • 2011-03-01
        • 2012-02-16
        相关资源
        最近更新 更多