我有一个用 c#、ASP.NET 编写的网站。我想根据左侧菜单中的链接动态加载右侧 div 中的页面。但我不知道从哪里开始,哪个控制等等。请帮帮我..
问问题
700 次
3 回答
1
使用右侧的 iframe 标记包含动态加载的页面,然后在右侧链接的目标属性中指定 iframe 的名称属性。
<table>
<tr>
<td>
<a href='www.reddit.com/r/jquery' target='contentFrame'>first Link</a> <br/>
<a href='www.reddit.com/r/javascript' target='contentFrame'>Second Link</a>
</td>
<td>
<iframe name='contentFrame' />
</td>
</tr>
</table>
于 2012-10-14T22:23:59.910 回答
0
有多种方法可以做到这一点。一种简单的方法是使用CSS
创建布局(即左侧的菜单,右侧的内容)和Masterpage
. AMasterpage
是一个页面,它是其他页面在具有共同方面时可以使用的模板。在这里,左侧的菜单对您的所有页面都是通用的,因此您可以在母版页中创建该布局。每个页面(例如firstpage.aspx
)都继承该 Masterpage,您可以简单地填写右侧的内容。
有很多 CSS 资源,但这个站点可能会帮助您开始布局方面。可以在此处找到有关 Masterpages 的更多信息。
替代方法包括使用 AJAX 动态加载页面。根据您的设计,这可能会有点棘手。
于 2012-10-14T22:25:33.233 回答
0
使用 aMasterPage
和 ContentPages
例子:
母版页
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="GlobalMaster.master.cs" Inherits="your masterpage class" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div id="menupanel">
</div>
<div id="mainpanel">
<asp:ContentPlaceHolder ID="mainPlaceHolder" runat="server" />
</div>
</body>
</html>
内容页
<%@ Page Title="" Language="C#" MasterPageFile="~/path to your masterfile.Master" AutoEventWireup="true" CodeBehind="page code behind" Inherits="page class" %>
<asp:Content ID="Content1" ContentPlaceHolderID="mainPlaceHolder" runat="server">
<h3>
Your cool content here
</h3>
</asp:Content>
Page
请注意如何通过在指令中使用以下属性来定义要使用的 MasterPage :
<%@ Page MasterPageFile="~/path to your masterfile.Master"
当您定义这样的页面时,它们被称为内容页面
页面的内容必须在Content
控件中定义:
<asp:Content ID="Content1" ContentPlaceHolderID="mainPlaceHolder" runat="server">
还要注意名称必须如何在MasterPage
' 的ContentPlaceHolder
ID 和Content
'ContentPlaceHolderID
属性之间匹配
于 2012-10-14T22:25:49.980 回答