如何在asp.net页面中包含一个外部html文件

时间:2011-08-04 08:03:56

标签: php asp.net html

如何在external html file网页中加入asp.net。在PHP中我们可以使用include函数,如果asp.net有任何类似的功能,请告诉我。我的意图是,我有一个共同的标题html文件,所以我需要在所有aspx页面中包含该文件。

5 个答案:

答案 0 :(得分:5)

服务器端包含可在不同平台上使用,对于包含静态内容非常有用。您可以在IIS中使用它们,但我需要在IIS7中启用它们。

<!-- #include file="Static/Menu.html" -->

http://tech.mikeal.com/

提供了在IIS7中启用SSI的说明

对于动态内容,有一种称为MasterPages的内置模板方法,应该使用它。

答案 1 :(得分:3)

我认为这是网络表单?

在asp.net中执行此操作的最典型方法是使用Master Page。在主页面中包含您的标题,并让内容页面继承此内容。

答案 2 :(得分:2)

ASP.NET是一个与PHP不同的框架,因此你最好不要尝试复制你在PHP中做事的方式。我们在ASP.NET中使用母版页,而不是使用常用元素的“包含”文件,例如标题。请参阅http://www.asp.net/master-pages/tutorialsMSDN on Master Pages。母版页中的内容(与任何其他.aspx页面一样)可以是静态HTML或动态生成的控件标记。

拥有可重复使用的内容块的另一种方法是创建所谓的User Controls。这些基本上是页面片段,可以像其他服务器控件一样重用。例如,您可以创建菜单用户控件,然后将其嵌入到公共母版页中。这是将您的网站分解为可管理的“块”的好方法。

有关详细信息,请参阅SO上的其他问题ASP.NET equivalent of server side includes

答案 3 :(得分:2)

除了使用MasterPage和UserControl之外,提供here的一种方法是使用Response.writeFile,但此解决方案的基本问题是:

  

ASP不会处理文件中的服务器端脚本。这是因为当包含该文件时,所有ASP代码都已经运行,并且服务器不再返回读取服务器端处理的任何内容

答案 4 :(得分:0)

您可以通过IFrame包含它 从.Net 4.5开始,您可以选择包含东西

有关IFrame的更多信息: http://www.w3.org/html/wg/drafts/html/master/semantics.html#the-iframe-element