【问题标题】:Read HTML file from folder and put its content into block of web site using asp.net MVC C#使用asp.net MVC C#从文件夹中读取HTML文件并将其内容放入网站块中
【发布时间】:2011-11-25 04:06:57
【问题描述】:

我在项目的 HTML 文件夹中放置了 HTML 文件。这些 HTML 文件的文件名存储在数据库字段中。我想读取每个 HTML 文件的内容并将其放在网页上的<div> 中。

这是我用图片路径成功完成的:

<img width="135px" src="<%:HelperClass.CheckImageUrlExist(HelperClass.Contact.PathProductImages+Model.Item[i].PictureName)%>" alt="<%: Model.Item[i].Name %>"/>

图片的文件名没有问题,但是html文件的内容我就不知道了。

谁能告诉我,我该怎么做?谢谢。

【问题讨论】:

  • 你考虑过使用 jQuery 吗?这将使任务变得非常容易。
  • @JSang:我从不使用 JQuery。请给我一些代码好吗?
  • 如果你不懂 jQuery,你最好执行别人的建议。不过,如果你还想走 jQuery 的路,你可以阅读 jQuery 的loadapi

标签: asp.net html asp.net-mvc database


【解决方案1】:

您可以使用System.IO.File.ReadAllText()StreamReader 类方法从磁盘读取文件。

例如,假设您在 web-app 根文件夹的 files 文件夹下有 sample.html 文件。

string path=HttpContext.Current.Server.MapPath("~/files/sample.html");
string content=System.IO.File.ReadAllText(path);

【讨论】:

  • 产生错误:System.IO.FileNotFoundException: 找不到文件'C:\Program Files\Common Files\Microsoft Shared\DevServer\10.0\test.htm'。
  • @socheata - 就是这样。未找到您要读取的文件。请写正确的路径/位置。如果这些文件位于 web-app 项目中,则使用 ~ root 运算符(请参阅我的帖子)。
  • @socheata - 请在帖子中包含您目前正在尝试的代码,并显示 test.htm 的位置。
  • :这段代码将打印路径:gg:9090/Product/HtmlDetail/test.htm
  • 但是我不知道,我怎样才能把这个html内容打印出来。
【解决方案2】:

试试这个:

<div>
    <% Response.WriteFile("MyFile.html") %>
</div>

或者,如果您已将它们安装在您的网络服务器上,请尝试server-side includes

&lt;!-- #Include virtual="/MyFile.html" --&gt;

【讨论】:

  • It 错误:System.IO.DirectoryNotFoundException:找不到路径“Y:\Products\Spec\test.htm”的一部分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-23
相关资源
最近更新 更多