Visualizzazione dei risultati da 1 a 8 su 8

Discussione: PlaceHolder

  1. #1

    PlaceHolder

    ciao a tutti, stavo facendo qualche prova con i placeholder perchè non li ho mai utilizzati. Ho creato una paginetta, ci ho piazzato il placeholder:

    <asp:PlaceHolder id="PlaceHolder1" runat="server"></asp:PlaceHolder>

    Poi nella parte relativa al codice ho scritto queste poche righe:

    Dim txtBox As TextBox
    txtBox = New TextBox()
    txtBox.ID = "txtProva"

    PlaceHolder1.Controls.Add(txtBox)

    salvo, compilo (VS.NET) e lancio la pagina...
    e non mi compare nulla.
    Guardo il codice restituito al browser ed è ovviamente vuoto dove dovrebbe esserci la mia textbox...
    il bello è che se io inserisco questa riga di codice:

    PlaceHolder1.Controls.Add(New LiteralControl("ciao"))

    Mi funziona!Ovviamente sempre senza mostrarmi la textbox...dove sbaglio?

  2. #2
    Ho provato a fare quello che volevi tu, così sembra funzionare.
    Ciao


    Marco


    codice:
     
    <%@ Page Language="VB"%>
    <script runat="server">
    sub Page_load
    Dim txtBox As TextBox 
    txtBox = New TextBox() 
    txtBox.text = "txtProva" 
    PlaceHolder1.Controls.Add(txtBox) 
    end sub
    </script>
    <html>
    <head>
    <title>Untitled Document</title>
    </head>
    <body>
    <form runat="server">
    <asp:PlaceHolder id="PlaceHolder1" runat="server"/>
    </form>
    </body>
    </html>

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127

    Re: PlaceHolder

    Originariamente inviato da winston
    ciao a tutti, stavo facendo qualche prova con i placeholder perchè non li ho mai utilizzati. Ho creato una paginetta, ci ho piazzato il [cut]
    la textbox...dove sbaglio?
    ma l'hai messo nel page_load?? oppure in 1 sub ke nn rikiami mai ??

  4. #4
    mi sa che il tuo errore stava proprio qua:

    PlaceHolder1.Controls.Add(New LiteralControl("ciao"))

  5. #5
    No, il mio errore stava nel fatto che prendeva la dichiarazione

    Dim txtBox As TextBox


    come

    Dim txtBox as NomeProgetto.TextBox

    E chissà che cacchio andava a istanziare, infatti non mi trovava le proprietà Text, Columns ecc ecc del controllo Textbox.
    Quindi che ho fatto?
    Questo:

    Dim txtBox nome As System.Web.UI.WebControls.TextBox

    E funziona perfettamente.
    Ora però c'è un altro ostacolo...devo recuperare i valori delle textbox ovviamente...ho fatto questa sub attivata da un pulsante:

    Dim c As System.Web.UI.Control
    For Each c In PlaceHolder1.Controls
    Dim txt As System.Web.UI.WebControls.TextBox
    txt = CType(c, System.Web.UI.WebControls.TextBox)
    Response.Write(txt.Text)
    Next

    Ma non ne vuol sapere di fare il casting...qualcuno di voi ha qualche idea? sempre tenendo in considerazione che mi fa quella simpatica cosa sul dim di un controllo..

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    forse con Request.Form("nometxtbox")

  7. #7
    si ma supponiamo che non conosca l'id del campo (che infatti creo dinamicamente e recupero da database)...

  8. #8
    ma hai importato lo spazio dei nomi per i webcontrols in cima alla pagina?
    using System.Web.UI.WebControls

    Poi comunque che errore ti da sul casting?

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.