Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    135

    perchè un tag form mi sfalsa il layout di una tabella?

    Ciao a tutti,
    ho una master page e relativa pagina con contentplaceholder nel quale creo una tabella che contiene altre tabelle.
    Per chiarire: tabella principale una riga 3 colonne, nella prima e nella terza colonna altre due tabelle per i menù e link vari, in quella centrale un repeater.
    L'inghippo nasce quando cerco di inserire nella colonna di sinistra un tag form per la ricerca in google (sono costretto ad inserire il tag form, il codice lo fornisce google stesso).
    Nella colonna centrale la visualizzazione dei dati del repeater parte, invece che dall'inizio della pagina, dal punto in cui inserisco il tag form stravolgendo il layout della pagina.
    Qualcuno sa darmi una spiegazione e un'eventuale soluzione??
    Grazie
    Nicola

  2. #2
    Puoi darci qualche dettaglio in più?
    Una porzione di codice del problema in esame sarebbe gradita

    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    135

    ecco qua..

    Questo è il codice della Master page che va in errore
    Ti ho eliminato molte righe delle tabelle mantenendo comunque la struttura..
    ti ringrazio per la pazienza



    <body class="bodyBGColor">
    <form id="form1" runat="server">
    <div>


    <table width="1050" cellpadding="3" cellspacing="3" align="center">
    <tr><td colspan="3" align="center">[img]../images/testata.gif[/img]</td></tr>
    <tr valign="top">
    <td>
    <table cellpadding="3" width="160" cellspacing="4" border="0">
    <tr><td class="titoliMenusx">LINKS</td></tr>
    <tr><td>

    <%-- <div class="cse-branding-right" style="background-color:#999999;color:#000000">
    <div class="cse-branding-form">--%>
    <form action="http://www.google.it/cse" id="cse-search-box" target="_blank">
    <%-- <div>--%>
    <input type="hidden" name="cx" value="" />
    <input type="hidden" name="ie" value="" />
    <input type="text" name="q" size="31" />
    <input type="submit" name="sa" value="Cerca" />
    <%--</div>--%>
    </form>
    <%-- </div>--%>
    <%-- <div class="cse-branding-logo">--%>

    <%--</div>
    <div class="cse-branding-text">--%>
    Ricerca personalizzata
    </td></tr>
    <tr><td>
    </table>
    </td></tr>


    </table>
    </td>
    <td valign="top" >
    <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">

    </asp:ContentPlaceHolder>
    </td>
    <td>
    <table id="tbl_banner" width="160" border="0" cellpadding="5" cellspacing="5" >
    <tr><td class="CellBordBott"></td></tr>
    </table>
    </td>
    </tr>
    </table>
    </div>
    </form>

    </body>

  4. #4
    Guarda spero di sbagliarmi, ma inserire un form nidificato in un'altro form è sbagliato, nel tuo schema c'è un form principale nella master page ed uno secondario per la ricerca con google. Un consiglio: i form vanno inseriti all'interno di ogni pagina che implementa MasterPage, non il contrario, meglio evitare il principale direttamente li!
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    135
    hai ragione, ma nella master page ci sono dei repeater (per le categorie, links e altro) che nel codice postato ho tolto per evitare "allungamenti".. Secondo te dovrei aprire/chiudere i form in corrispondenza di ogni repeater?? spostare il codice con i repeater nelle pagine "dipendenti" significherebbe ripetere kili di righe

  6. #6
    no aspetta mi spiego meglio, prima di tutto c'è una regola importantissima di cui tenere conto quando si sviluppa con asp.net ed in particolare con la tecnologia WebForms, ogni pagina web può avere massimo un form runat="server", quindi partendo da questo presupposto e capire quando realmente è necessario utilizzare un controllo di questo tipo, fatti una domanda: "devi gestire elementi di tipo input?" se la risposta è si allora devi utilizzare un form, in caso contrario puoi utilizzare semplicemente i controlli runat="server" che devono svolgere determinate funzioni. Suppongo che un menù non preveda input da parte dell'utente, bensi è lui a fornire in output qualcosa. Potresti inserire questi repeater fuori dai form (quindi non uno per ogni form) e poi fare il resto nelle diverse pagine

    Spero di essere stato chiaro!
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    135
    sei stato chiarissimo ma ad esempio uso un calendario che poi mi serve per le ricerche per data e per quello ho bisogno di un controllo form con runat=server, credevo che la coabitazione dei form potesse essere possibile nel caso uno sia runat=server e gli altri no (per gestire eventuali input)

  8. #8
    certo, è fattibile se "uno" è runat="server" mentre gli altri no, ovviamente devi rispettare la regola di non inserne uno dentro l'altro, le regole w3c insieme a quelle .net indicano questa cosa come errore
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

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.