如何将其他页面包含到aspx文件中

时间:2013-02-26 04:31:55

标签: asp.net

我想在asp.net中将其他aspx文件包含到主aspx文件中我可以在jsp中执行它jsp中的代码包括那样

<jsp:include page="footer.jsp" />

4 个答案:

答案 0 :(得分:14)

这对我有用。我可以在我想要的任何页面上包含我的菜单:

<div ID="menuContent" runat="server">
    <!-- #Include virtual="/menu.aspx" -->
</div>   

在我的menu.aspx文件中,我有原始的html和一些C#代码块,ASP将在将内容插入页面后解决这些问题。好吧?

答案 1 :(得分:3)

您无法在asp.net中向现有页面添加其他页面 因为asp.net在同一页面中不允许两个form tag 有用户控制等功能可以使用 更多细节
http://www.codeproject.com/Articles/1739/User-controls-in-ASP-NET

编辑1

更多
Master pagecontent page的概念 这是母版页的良好链接
http://www.codeproject.com/Articles/325865/Creating-Master-Page-In-ASP-NET-2010

编辑2

母版页具有如下结构

<%@ Master Language="C#" AutoEventWireup="true" 
CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
   <title></title>
   <asp:ContentPlaceHolder id="head" runat="server">
   </asp:ContentPlaceHolder>
</head>
<body>
   <form id="form1" runat="server">
      <div>
          <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">

          </asp:ContentPlaceHolder>
      </div>
   </form>
 </body>
</html>

几点需要注意
当您创建一个页面时,您只能在ContentPlaceHolder1中添加内容,其中可能有很多内容。
您也可以将user-control放在master-page内,以便它会反映在您的所有页面上。

编辑3

母版页

实际上是用户控件;您可以通过转到主页类的代码隐藏来验证这一点,右键单击类名并选择“转到定义”。你会看到这样的东西:

public class MasterPage : UserControl
{
    ...
}

用户控件

便于显示使用单个项目重复的显示组件,例如菜单和面板。问题是,如果需要,它们不会生成.DLL并且必须手动复制到其他项目。

一些很好的链接
ASP.NET equivalent of server side includes
How to include an external html file in asp.net page

答案 2 :(得分:1)

ASP.Net有Master PageUser Control,可以帮助您做类似的事情。

如果您使用的是ASP.Net MVC,我们有部分视图概念。

答案 3 :(得分:0)

使用#include将无效,因为如果包含的文件是ASP.NET页面,它将引入两个页面指令。 OP必须使用Ajax下载文件,然后将其放在页面中。