将.html页面渲染到.aspx页面

时间:2009-12-01 08:45:14

标签: asp.net

在我的.aspx页面中,我想渲染一个包含一些数据的.htm页面 在.aspx页面我有:

<% Html.RenderPartial("/Views/Templates/HTML_Temp.htm"); %>

但这会产生运行时错误:

'/'应用程序中的服务器错误。

没有为扩展程序'.htm'注册的构建提供程序。您可以在machine.config或web.config中的部分中注册一个。确保具有BuildProviderAppliesToAttribute属性,该属性包含值“Web”或“全部”。

如何解决此问题...请帮忙

3 个答案:

答案 0 :(得分:1)

使用#include

将一些HTML内容放入包含页面的最简单方法是使用包含#include的服务器:

<!-- #include file="../Templates/HTML_Temp.htm" -->
// for relative paths

<!-- #include virtual="/Views/Templates/HTML_Temp.htm" -->
// for virtual paths

Asp.net最好的方法是2.0

更好的方法当然是将HTML文件重命名为ASCX并创建一个没有任何特定功能的公共CS文件。将这个相同的CS文件(类关系)与所有新创建的ASCX文件一起使用。

Asp.net 2.0及更高版本的更好方法

创建一个母版页(或多个母版页;如果你是3.0或更高版本,它们也可以嵌套),其中包含公共内容并在母版之上开发其他页面。

答案 1 :(得分:1)

试试这个:

<%= File.ReadAllText(Server.MapPath("/Views/Templates/HTML_Temp.htm")) %>

答案 2 :(得分:1)

<%= System.IO.File.ReadAllText(Server.MapPath("~/Views/Templates/HTML_Temp.htm")) %>