在我的.aspx页面中,我想渲染一个包含一些数据的.htm页面 在.aspx页面我有:
<% Html.RenderPartial("/Views/Templates/HTML_Temp.htm"); %>
但这会产生运行时错误:
2>'/'应用程序中的服务器错误。没有为扩展程序'.htm'注册的构建提供程序。您可以在machine.config或web.config中的部分中注册一个。确保具有BuildProviderAppliesToAttribute属性,该属性包含值“Web”或“全部”。
如何解决此问题...请帮忙
答案 0 :(得分:1)
将一些HTML内容放入包含页面的最简单方法是使用包含#include
的服务器:
<!-- #include file="../Templates/HTML_Temp.htm" -->
// for relative paths
或
<!-- #include virtual="/Views/Templates/HTML_Temp.htm" -->
// for virtual paths
更好的方法当然是将HTML文件重命名为ASCX并创建一个没有任何特定功能的公共CS文件。将这个相同的CS文件(类关系)与所有新创建的ASCX文件一起使用。
创建一个母版页(或多个母版页;如果你是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")) %>