如何将其他页面包含到 aspx 文件中
Posted
技术标签:
【中文标题】如何将其他页面包含到 aspx 文件中【英文标题】:How to include other page to aspx file 【发布时间】:2013-02-11 10:44:36 【问题描述】:我想将其他 aspx 文件包含到 asp.net 中的主 aspx 文件中,我可以在 jsp 中做到这一点,jsp 中的代码包含这样的
<jsp:include page="footer.jsp" />
【问题讨论】:
很难相信像在aspx
模板中包含文本这样基本的东西并没有以简单的方式实现。在 Java 中有四种不同的单行代码可以做到这一点:***.com/questions/14580120/…
当然只是把它放在你页面上的一个 div 中。
【参考方案1】:
这对我有用。我可以在我想要的任何页面上包含我的菜单:
<div ID="menuContent" runat="server">
<!-- #Include virtual="/menu.aspx" -->
</div>
在我的 menu.aspx 文件中,我有原始 html 和一些 C# 代码块,ASP 将在将内容插入页面后解决这些问题。很棒吧?
【讨论】:
基于OP问题,这是正确答案。关于 MasterPages 等的其他答案并没有直接回答 OP 问题。【参考方案2】:您不能在 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 equivalent of server side includesHow to include an external html file in asp.net page
【讨论】:
【参考方案3】:ASP.Net 有 Master Page 和 User Control 可以帮助你做类似的事情。
如果您使用的是 ASP.Net MVC,我们有 Partial View 的概念。
【讨论】:
【参考方案4】:使用#include 将不起作用,因为如果包含的文件是 ASP.NET 页面,它将引入两个页面指令。 OP 必须使用 Ajax 下载文件,然后将其放入页面中。
【讨论】:
这并不能真正为 OP 或任何后来的访问者解决任何问题。如果是这种情况,您应该提供一些关于如何使用 Ajax 的说明以上是关于如何将其他页面包含到 aspx 文件中的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SharePoint WebPart 中包含 JavaScript 文件?