Visualizzazione dei risultati da 1 a 5 su 5

Discussione: include dinamici

  1. #1

    include dinamici

    Salve sono nuovo dell'ambiente ASP.NET sto da poco passando da ASP a quest'ultimo e le difficoltà sembrano già arrivare.
    Il problema a che mi preme molto e che non so rispondere è questo: gli include.

    Io solitamente quando face una sito in ASP prendevo 4 zone della pagina HEADER,CENTRO ,MENU DX, MENU SX, FOOTER


    +------------+
    | HEAD |
    +--+------+--+
    |SX|CENTRO|DX|
    +--+------+--+
    | FOOTER |
    +------------+


    Facevo una tabella che era la struttura del sito e per ciascuna cella facevo degli include.
    Naturalmente quasi tutte le parti erano fisse a differenza del centro che era la zona in cui cambiava il contenuto in base ad un parametro che veniva passato.
    es:
    if Request("id")=1 then
    %>

    <%
    end if
    if Request("id")=2 then
    %>

    <%
    end if

    questo sistema era bello xchè mi permetteva di avere una sorta di template e cambiare i contenuti.

    Ora mi chiedo come realizzo tutto cio' in ASP.NET .
    Da quanto ho capito devo usare degli USERCONTROL ma da quello che ho visto questi vanno caricati prima questo mi sta bene per le parti fisse tipo i menu header e footer ma per il contenuto (zona centro) come faccio a dirgli inseriscimi questo user control invece che un'altro?

    Scusate la banalità della domanda ma sono nuovo della tecnologia.

  2. #2
    No, funziona diversamente: è dentro lo User Control che dici "metti questo o metti quello".


  3. #3
    quindi da quanto ho capito
    1 creo una webForm principale con dentro 4 usercomponet(HEAD CENTRO SX DX FOOTER)

    2 nell'usercomponete CENTRO metto il codice
    <%
    if request("id") = 1 then
    %><%
    end if
    %>

    e se volessi rendere il tutto + dinamico cioè invece di un numero gli passo direttamente il nome della pagina da includere come faccio?

  4. #4
    No, non puoi fare includi dinamici di questo tipo.

    Il mio consiglio è questo: nello User Control centrale crei vari DIV di questo tipo:

    <div id="div1" runat="server" visible="false">

    </div>

    <div id="div2" runat="server" visible="false">

    </div>

    <div id="div3" runat="server" visible="false">

    </div>

    ...

    Poi rendi visibili questi DIV da codice solo quando soddisfano i tuoi criteri (request("id") = n) ed ovviamente esegui anche il codice necessario.

    Devi cercare di ragione in .NET .. stai ancora ragionando con il vecchio ASP. Evita il più possibile codice nella sezione HTML delle tue pagine ASPX (quei <% %>).


  5. #5
    saro' un po' non riesco ad accedere alla visibilita' dei div cioè io creo un' user control centro.ascx così fatto

    <%@ Control Language="c#" AutoEventWireup="false" Codebehind="centro.ascx.cs" Inherits="prova_inculde.centro" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
    <div id="div1" runat="server" visible="false">

    PAGINA 1
    </div>

    <div id="div2" runat="server" visible="false">

    PAGINA 1
    </div>

    <div id="div3" runat="server" visible="false">

    PAGINA 1
    </div>

    e il file .cs del codice
    namespace prova_inculde
    {
    using System;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;

    /// <summary>
    /// Descrizione di riepilogo per centro.
    /// </summary>
    public abstract class centro : System.Web.UI.UserControl
    {

    private void Page_Load(object sender, System.EventArgs e)
    {
    if (Request["id"]== 1){
    div1.visible = true;
    }
    }

    }
    [....]


    come faccio accedere al div e se dovessi farlo da un'altro user control? o dalla web form principale .

    Altra domanda io in 1 pagina posso usare solo 1 web form ma se in un controllo ho bisogno di fare un' applicazione che necessita di una web form come posso fare ?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.