8

我想在asp.net中将其他aspx文件包含到主aspx文件中我可以在jsp中做到这一点jsp中的代码包括这样

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

4 回答 4

20

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

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

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

于 2016-04-29T19:30:10.033 回答
4

您不能将另一个页面添加到 asp.net 中的现有页面。
因为asp.net不允许两个form tag在同一个页面。
有像用户控制这样的功能,你可以使用
更多细节
http://www.codeproject.com/Articles/1739/User-controls-in-ASP-NET

编辑 1

此外
还有一个概念,Master page这里content 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 等价于服务器端的

一些很好的链接 包括How to include an external html file in asp.net page

于 2013-02-26T04:47:39.593 回答
1

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

如果您使用的是 ASP.Net MVC,我们有 Partial View 的概念。

于 2013-02-26T04:36:10.423 回答
0

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

于 2017-01-01T19:20:57.180 回答