0

我有一个用 c#、ASP.NET 编写的网站。我想根据左侧菜单中的链接动态加载右侧 div 中的页面。但我不知道从哪里开始,哪个控制等等。请帮帮我..

在此处输入图像描述

4

3 回答 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' 的ContentPlaceHolderID 和Content'ContentPlaceHolderID属性之间匹配

于 2012-10-14T22:25:49.980 回答