Come usare un'unica pagina come contenitore per contenuti appartenenti...

martedì 04 dicembre 2007 - 15.11

paquito_ita Profilo | Senior Member

Ciao,

sto realizzando un sito web che crea pagine dal contenuto diverso in maniera dinamica (cioè alivello di codice). Ovvero in base all'utente visualizzero' determinati eventi, documenti ecc. nelle relative pagine.

Tali record vengono reperiti tramite query ad un database access e poi inseriti in un placeholder (in ogni relativa pagina) come contenuto "sensibile".
Essendo tuttavia la pagina composta da un Header sempre uguale (a parte il nome della pagina), mi chiedvo se non fosse possibile usare UNA SOLA PAGINA contenitore, nella quale inserire di volta in volta i contenuti nell'unico (in quato caso) placeholder.

E' possibile una cosa del genere e se sì come? AL momento le mie classi che realizzano i contenuti sono definite "partial" e legate alle corrispettive pagine con form. SArebbe possibile poi referenziare il placeholder contenuto in una form in un'unica oagina?

Grazie mille!

aabruzzese Profilo | Junior Member

Il Masterpage:

%@ master Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> A Master Page - Provide Look and feel for the entire site</title>
<link href="canact.css" type="text/css" rel="Stylesheet" />
</head>
<body>
<div id="poster">
<table width="643" align="left" border="0">
<tbody>
<tr>
<td align="left" valign="top" style="height: 90px">
&nbsp;<img src="images/Logo.gif" height="80" width="144" /></td>
<td align="left" style="height: 90px">
<h1><a href="Angelo.aspx">Some Page Header </a></h1>
<h2>Some More Headings</h2>
</td>
</tr>
</tbody>
</table> </div>
<div class="none">
</div>
<form id="form1" runat="server">
<ASP:CONTENTPLACEHOLDER id="ContentPlaceHolder1" runat="server"></ASP:CONTENTPLACEHOLDER>
</form>
<div id="footer">
<p align="center" class="text"> Page Dive Information</p>
</div>
</body>
</html>




Vedi il essempio di MasterPage e poi nella pagina aspx:


<%@ Page Language="VB" MasterPageFile="~/Reports.Master" AutoEventWireup="true" CodeFile="REPORT.aspx.vb" Inherits="REPORT" title="A Content Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<div id="body">
<div id="contentdiv" class="dashedline"></div>
<h3><font face="Verdana">A Report for <asp:Label ID="MyBeginDateLabel" runat="server"/> </font></h3>
<table width="643" align="center" border="0">
<tbody>
<tr>
<td style="width: 639px"> Put Some Content Here </td>
</tr>
</tbody>
</table>
<div id="datadiv" class="dashedline">
</div>

</asp:Content>
Angelo Abruzzese

paquito_ita Profilo | Senior Member

Il problema è che la MasterPage (per quello che ho capito io) per mette di definire parti costanti per più pagine (ad esempio l'header).
Ma in questo caso poi dovrei creare le varie pagine in cui cambia il contenuto.

Quello che vorrei io invece è l'opposto: ovvero in pagine diverse creo il contenuto dinamico per esempio:

- lista titoli documenti dell'utente (pagina documentRepository)
- lista eventi dell'agenda (pagina eventsRepository)

e cosi' via.

Tali pagina non sono altro che una serie di HyperLink, con una Label che indica il TITOLO della pagina.
Creando tutto il contenuto di tali pagine in c# (dinamicamente a run time) e inserendolo poi nei rispettivi placeHolder, mi chiedevo se non fosse possibile usare una sola pagina con un placeholder nel quale tutte queste pagine potesso depositare il contenuto creato dinamicamente.

Non so se questo è possibile o se va contro la filosofia di sviluppo ASP.NET.

Se non fossi stato chiaro per favore dimmelo.

Grazie di nuovo!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5