• Super User

    Puoi fare un user control, se usi VS basta che lo trascini nella pagina dove vuoi metterlo. Per quanto riguarda la master page, cosa intendi che poi avresti problemi con le tabelle di testo?
    Per l'inserimento dell'UserControl in asp.net devi registrarlo in cima alla pagina con:

    <%@ Register TagPrefix="MyUC" TagName="Test" Src="uc.ascx" %>

    E poi dentro puoi usarlo con

    <MyUC:Test runat="server" />


  • User

    Grazie cali1981 per il tuo aiuto!

    non ho VS, vorrei riuscire a far funzionare il codice che hai postato:
    <%@ Register TagPrefix="MyUC" TagName="Test" Src="uc.ascx" %>
    dentro
    <MyUC:Test runat="server" />

    ma non ci riesco!!

    il file che vorrei inserire sono questi:

    _menu.ascx
    _titolo.ascx

    come devo scrivere questo
    <%@ Register TagPrefix="MyUC" TagName="Test" Src="uc.ascx" %> ?
    e questo
    <MyUC:Test runat="server" /> ?

    grazie


  • Super User

    Provato con

    <%@ Register TagPrefix="ucMenu" TagName="menu" Src="menu.ascx" %>

    <ucMenu:menurunat="server" />


  • User

    @cali1981 said:

    Provato con

    <%@ Register TagPrefix="ucMenu" TagName="menu" Src="menu.ascx" %>

    <ucMenu:menurunat="server" />

    appare questo errore (vedi jpg allegata)

    Ho impostato le pagine così:

    pagina che deve caricare il file menu1.ascx

    **<%@ Register TagPrefix="ucMenu1" TagName="menu1" Src="menu1.ascx" %>
    **<html dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>prova</title>
    </head>
    <body>
    **<ucMenu1: menu1 runat="server" />
    **<form id="form1" runat="server">
    </form>
    </body>
    </html>

    menu1.ascx

    <%@ Register TagPrefix="ucMenu1" TagName="menu1" Src="menu1.ascx" %>
    <head>
    <style type="text/css">
    .style1 {
    background-color: #008000;
    }
    .style2 {
    background-color: #FF00FF;
    }
    </style>
    </head>
    <table style="width: 100%">
    <tr>
    <td class="style1"> </td>
    <td> </td>
    </tr>
    <tr>
    <td class="style2"> </td>
    <td> </td>
    </tr>
    </table>


  • Super User

    Il file menu1.ascx non deve contenere register!


  • User

    Come diceva Cali, la direttiva register va messa solo nella pagina che richiama la usercontrol, **non **nella usercontrol stessa.

    Inoltre hai inserito questo HTML nel file menu.ascx
    [HTML]
    <head>
    <style type="text/css">
    .style1 {
    background-color: #008000;
    }
    .style2 {
    background-color: #FF00FF;
    }
    </style>
    </head>
    <table style="width: 100%">
    <tr>
    <td class="style1"> </td>
    <td> </td>
    </tr>
    <tr>
    <td class="style2"> </td>
    <td> </td>
    </tr>
    </table>
    [/HTML]
    ma è sbagliato, poichè non deve esserci alcun tag head in un usercontrol (poiché lo richiami all'interno del tag body), e gli stili li devi definire all'esterno dello UserControl, ad esempio in un file css che includi tramite la pagina chiamante. Quindi il contenuto corretto del menu sarrebbe questo
    [HTML]
    <table style="width: 100%">
    <tr>
    <td class="style1"> </td>
    <td> </td>
    </tr>
    <tr>
    <td class="style2"> </td>
    <td> </td>
    </tr>
    </table>
    [/HTML]

    Cmq, come avrai capito gli include del php si traducono in UserControl in Asp.net (non è sempre vero, ma in linea di massima si..).

    :ciauz:


  • User

    @Holin said:

    Quindi il contenuto corretto del menu sarrebbe questo
    [html]
    <table style="width: 100%">
    <tr>
    <td class="style1"> </td>
    <td> </td>
    </tr>
    <tr>
    <td class="style2"> </td>
    <td> </td>
    </tr>
    </table>
    [/html]

    Cmq, come avrai capito gli include del php si traducono in UserControl in Asp.net (non è sempre vero, ma in linea di massima si..).
    :ciauz:

    Grazie, tutto Ok!! 🙂
    Ho fatto come avete suggerito voi e in effetti il file viene riconosciuto e "incluso" nella pag .aspx.
    Domanda:
    se provo a inserire un menu fatto in asp nella pagina .ascx la pagina in .aspx non viene più letta!!:x

    [html]
    <table style="width: 100%">
    <tr>
    <td class="style1"> </td>
    <td>

    <asp:Menu runat="server" id="Menu1" BackColor="#B5C7DE" Font-Size="0.8em" Font-Names="Verdana" StaticSubMenuIndent="10px" ForeColor="#284E98" DynamicHorizontalOffset="2">

    <StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
    <DynamicHoverStyle BackColor="#284E98" ForeColor="White" />
    <DynamicMenuStyle BackColor="#B5C7DE" />
    <StaticSelectedStyle BackColor="#507CD1" />
    <DynamicSelectedStyle BackColor="#507CD1" />
    <DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
    <StaticHoverStyle BackColor="#284E98" ForeColor="White" />

    </asp:Menu>

    </td>
    </tr>
    <tr>
    <td class="style2"> </td>
    <td> </td>
    </tr>
    </table>
    [/html]

    E' un problema di compatibilità tra asp e asp.net??:bho:
    Se si come converto quel tipo di menu in asp.net?:?

    Grazie 1000 per il vostro aiuto.


  • Super User

    Si certo, non puoi mettere asp e asp.net insieme, anche in asp c'è il menu, con vs lo trovi nel toolbox...


  • User

    @cali1981 said:

    Si certo, non puoi mettere asp e asp.net insieme, anche in asp c'è il menu, con vs lo trovi nel toolbox...

    Ciao cali1981, immagino che per vs intendi visual studio, giusto?
    Beh, se è visul studio è proprio da li che ho preso quello script del menu.

    Vorrei riuscire ad arrivare ad una conclusione:
    a) continuo ad usare le pagina ascx e aspx e allora (se ho capito bene) devo trovare lo script di un menu per asp.net (giusto? ne avete uno orizzontale con le finestre che si aprono con mouse on?)
    b) cambio e suo pagine asp (a questo punto non sono in grado di "includere" pagine) chi mi aiuta con lo script per a pagina che ho postato prima?

    grazie


  • Super User

    Quello che serve a te è il css di un menu orizzontale, perchè nello script del menu in asp.net tu metti solo le voci di menu (o il file sitemap da cui prenderle) poi colleghi un file css. Quindi non si tratta di c#. Uno script per il menu potrebbe essere quello che hai fatto tu con qualche modifica, puoi trovare una bella descrizione qui : eggheadcafe.com/articles/20050531.asp


  • User

    @cali1981 said:

    Quello che serve a te è il css di un menu orizzontale, perchè nello script del menu in asp.net tu metti solo le voci di menu (o il file sitemap da cui prenderle) poi colleghi un file css. 😮 😢 :bho:

    come collego il file css??
    Ipotizziamoi che devo visulaizzare il menu qui (è parte di un file ascx):

    <td colspan="2">QUI</td>

    come lo scrivo collegando solo il file css? :mmm:
    non avresti un esempio di ascx con all'interno un richiamo di menu css?


  • User

    Io non ho capito se vuoi usare il componente menu di asp.net o vuoi farne uno nuovo tu..

    Nel caso in cui vuoi farne uno nuovo devi:

    • fare il css per il menu
    • collegare il css con il tag link nell'head della pagina
    • creare la struttura del menu nel punto in cui vuoi che compaia
    • se hai dubbi cerca "menu a comparsa css" su google.. ne dovresti trovare a iosa di esempiNel caso in cui vuoi usare il componente menu di asp.net devi:
    • scarica gli adattatori per i componenti di asp.net (vvv.asp.net/cssadapters/). Servono a fare in modo tale che asp.net generi codice che sia modificabile tramite CSS per alcuni componenti, tra cui anche il menu
    • generi un progetto nuovo usando lo scheletro che ti hanno isntallato i cssadapters (se usi vs 2005)
    • crei il componente Menu (toolbox->navigation->menu) nel punto in cui vuoi visualizzarlo
    • lo riempi
    • poi prendi il css che serve (se non mi sbaglio si chiama proprio CSS/menu.css) e lo modifichi come serve a te
    • colleghi il css alla pagina contenente il menu
    • se hai dubbi sull'utilizzo dei cssadapters basta che guardi gli esempi di corredo, sono molto semplici.Spero di essere stato chiaro e di aiuto
      :ciauz:

  • User

    @Holin said:

    Io non ho capito se vuoi usare il componente menu di asp.net o vuoi farne uno nuovo tu..

    Nel caso in cui vuoi farne uno nuovo devi:

    • fare il css per il menu

    • collegare il css con il tag link nell'head della pagina

    • creare la struttura del menu nel punto in cui vuoi che compaia

    • se hai dubbi cerca "menu a comparsa css" su google.. ne dovresti trovare a iosa di esempiNel caso in cui vuoi usare il componente menu di asp.net devi:

    • scarica gli adattatori per i componenti di asp.net (vvv.asp.net/cssadapters/). Servono a fare in modo tale che asp.net generi codice che sia modificabile tramite CSS per alcuni componenti, tra cui anche il menu

    • generi un progetto nuovo usando lo scheletro che ti hanno isntallato i cssadapters (se usi vs 2005)

    • crei il componente Menu (toolbox->navigation->menu) nel punto in cui vuoi visualizzarlo

    • lo riempi

    • poi prendi il css che serve (se non mi sbaglio si chiama proprio CSS/menu.css) e lo modifichi come serve a te

    • colleghi il css alla pagina contenente il menu

    • se hai dubbi sull'utilizzo dei cssadapters basta che guardi gli esempi di corredo, sono molto semplici.Spero di essere stato chiaro e di aiuto
      :ciauz:

    Grazie per i consigli, ma nulla da fare...non riesco a fare ciò che vorrei.:?

    Vorrei usare i componenti di ASP.NET ma quando l'inserisco in una pagina che "includo" la pagina "contenitore" non viene più letta. Ho scaricato gli adapters ma non è cambiato nulla.😢