【问题标题】:How to load local html page in web form如何以 Web 表单加载本地 html 页面
【发布时间】:2020-01-16 05:08:00
【问题描述】:

我希望在我的网络表单中加载一个本地 html 页面。 我使用的代码看起来像

Response.Redirect("C:\Player\Results\xyz.html", false);
HttpContext.Current.ApplicationInstance.CompleteRequest();

我知道有人问过类似的问题,但没有一个对我有帮助。 如果有人可以让我知道我哪里出错了,那将非常有帮助

谢谢

【问题讨论】:

  • 如果需要任何其他数据,请告诉我。

标签: c# asp.net webforms


【解决方案1】:

@m_beta 您正在使用物理路径进行重定向。这将需要您在移动代码位置时更改代码。请改用相对路径。

如下所示。您需要根据您所在的位置更正路径。

Response.Redirect("~/admin/paths.aspx", false);

【讨论】:

  • 这是使用相对路径而不是使用物理路径的问题的关键部分
  • @m_beta 当您更改为使用相关部分时,您是否可以正常工作?如果可行,请投票或标记为答案。
【解决方案2】:

重定向到将响应静态内容的 http / https url 是一回事,但没有浏览器会加载本地文件。如果浏览器这样做,将会带来巨大的安全风险。

【讨论】:

  • 好吧其实我有一个服务正在运行,它生成一个 html 文件作为输出文件。所以关于如何以网络形式加载 html 文件的任何提示因为如果我这样做,那么每个人都可以使用 URL 查看输出文件。
  • 所以您正在运行一个外部进程来生成 html?那你要stackoverflow.com/questions/10830212/…
  • 上面给出的链接对我有用,谢谢你的回答,但第二部分的答案 but no browser is going to load a local file 我想要说。
  • 我不会称之为误导。尝试重定向到 file:// url 将是一个安全问题。让运行在本地机器上的 Web 服务器返回本地文件的内容是完全不同的。
【解决方案3】:

你也可以像这样添加重定向

如果是本地主机,请检查您的本地主机值添加如下

Response.Redirect("http://localhost:51043/xyz.html"); 

现场直播

Response.Redirect("http://xyzdotcom/xyz.html"); 

【讨论】:

    【解决方案4】:

    一个简单的方法可能是:

      var htmlContent = System.IO.File.ReadAllText(@"C:\Player\Results\xyz.html");
      Response.Write(htmlContent);
    

    【讨论】:

      【解决方案5】:

      使用 IFrame 并使用它的 SRC 属性来调用您的 html 页面

      【讨论】:

        【解决方案6】:

        有很多方法可以做到,但我想提一下对我有用的两种方法

        在这种方法中,响应将被重定向到您正在传递的页面。

        Response.Redirect("~/Results/xyz.html", false);
        HttpContext.Current.ApplicationInstance.CompleteRequest();
        

        在下面提到的这种方法中,您希望呈现的 html 页面的内容将被读取,然后使用 OutputStream 传递。

        var encoding = new System.Text.UTF8Encoding();
        var htm = System.IO.File.ReadAllText(Server.MapPath("/Results/Html/") + "xyz.html", encoding);
        byte[] data = encoding.GetBytes(htm);
        Response.OutputStream.Write(data, 0, data.Length);
        Response.OutputStream.Flush();
        

        感谢所有在这里做出贡献的人!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-11-02
          • 1970-01-01
          • 2021-10-19
          • 2013-02-19
          • 1970-01-01
          • 2015-12-27
          • 1970-01-01
          • 2015-03-17
          相关资源
          最近更新 更多