将另一个asp.net页面加载到当前页面

时间:2012-08-17 20:20:31

标签: c# asp.net

将ASP.NET与C#一起使用,我想将另一页的内容加载到当前页面中。

我在一个页面上有一个主div id="maindiv",上面有一个标题。标题包含可点击的链接,这些链接使用类似http://www.mainpage.com&page=nextpage的get变量路由到同一网址。我想在switch case中使用page get变量从指定页面加载到maindiv。我可以做一下切换案例,但是如何从另一个页面加载响应呢?

4 个答案:

答案 0 :(得分:2)

听起来您希望为所有网页保留相同的布局(标题,导航,页脚等)。 ASP.NET 2.0引入了Master Pages,它基本上是布局文件,允许您创建填充布局中的占位符的内容页面。

  

ASP.NET母版页允许您为其创建一致的布局   应用程序中的页面。单个母版页定义外观和   你想要的所有页面的感觉和标准行为(或者   您的应用程序中的一组页面)。然后,您可以创建个人   包含要显示的内容的内容页面。当用户   请求内容页面,它们与母版页合并生成   将母版页的布局与内容组合在一起的输出   来自内容页面。

以下是MSDN article的示例。

母版页:

<%@ Master Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 
    1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server" >
    <title>Master page title</title>
</head>
<body>
    <form id="form1" runat="server">
        <div><asp:contentplaceholder id="Main" runat="server" /></div>
        <div><asp:contentplaceholder id="Footer" runat="server" /></div>
    </form>
</body>
</html>

内容页面:

<% @ Page Language="C#" MasterPageFile="~/Master.master" Title="Content Page 1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="Main" Runat="Server">
    Main content.
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="Footer" Runat="Server" >
    Footer content.
</asp:content>

答案 1 :(得分:1)

可能的解决方案是

设置iframe 在http://geekswithblogs.net/ranganh/archive/2005/04/25/37635.aspx中 您将获取查询字符串参数以设置iframe的来源

frame1.Attributes["src"] = "http://www.live.com" ;

中的代码

frame1.Attributes["src"] = nextpage ;

答案 2 :(得分:0)

我建议使用Panels并根据URL变量显示或使用.ASCX用户控制文件,如果需要逻辑背后的代码,请加载基于URL变量的文件。

<asp:Panel ID="pnl1" runat="server" visible="false">
    page 1...
</asp:Panel>

<asp:Panel ID="pnl2" runat="server" visible="false">
    page 2...
</asp:Panel>

答案 3 :(得分:0)

此相关帖子可能会为您的问题提供解决方案:

How to display an ASPX in another ASPX's DIV dynamically at runtime?