私はc#、ASP.NETで書かれたウェブサイトを持っています。左側のメニューのリンクに従って、右側のdivにページを動的にロードしたい。しかし、どこから始めればいいのか、どのコントロールなどなのかわかりません。助けてください。
3 に答える
右側のiframeタグを使用して動的にロードされたページを含め、次に右側のリンクのターゲットプロパティにそのiframeのnameプロパティを指定します。
<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>
これを行うにはさまざまな方法があります。簡単な方法はCSS
、レイアウト(つまり、左側のメニュー、右側のコンテンツ)とを作成するために使用することMasterpage
です。AMasterpage
は、他のページに共通の側面がある場合に使用できるテンプレートであるページです。ここで、左側のメニューはすべてのページに共通しているため、マスターページでそのレイアウトを作成できます。各ページ(例firstpage.aspx
)はそのマスターページを継承し、右側のコンテンツに入力するだけです。
多くのCSSリソースがありますが、このサイトはレイアウトの側面を始めるのに役立つかもしれません。マスターページの詳細については、こちらをご覧ください。
別の方法には、AJAXを使用してページを動的にロードすることが含まれます。デザインによっては、これは少し難しいかもしれません。
MasterPage
およびContentPagesを使用する
例:
MasterPage
<%@ 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">
また、名前が'sIDと'sプロパティの間でどのように一致する必要があるかにMasterPage
注意ContentPlaceHolder
しContent
てContentPlaceHolderID
ください