Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Oggetti server non riconosciuti nel codice
giovedì 21 agosto 2008 - 18.56
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
ravalon
Profilo
| Expert
689
messaggi | Data Invio:
gio 21 ago 2008 - 18:56
Salve a tutti
ho una pagina dove ho inserito una textbox...devo controllare che sia valorizzata... se lo è la pagina mi rimanda ad un'altra pagina...
Il problema è che nel codice non mi riconosce il nome dell'oggetto textbox....nessun oggetto che inserisco a parte un Datalist e gli oggetti Tabella.... Le tabelle sono diverse e annidate...non so se possa essere questo il problema...anche se in altre pagine col medesimo comportamento non ho questo fastidio
da cosa dipende ? come mai non mi riconosce questi oggetti ?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 21 ago 2008 - 19:21
>Salve a tutti
Ciao!
>
>ho una pagina dove ho inserito una textbox...devo controllare
>che sia valorizzata... se lo è la pagina mi rimanda ad un'altra
>pagina...
>Il problema è che nel codice non mi riconosce il nome dell'oggetto
>textbox....nessun oggetto che inserisco a parte un Datalist e
>gli oggetti Tabella.... Le tabelle sono diverse e annidate...non
>so se possa essere questo il problema...anche se in altre pagine
>col medesimo comportamento non ho questo fastidio
>da cosa dipende ? come mai non mi riconosce questi oggetti ?
ma è un <asp:TextBox>? o è un input box? Hai guardato se nel file di design è stato creato l'oggetto? Che versione di Visual Studio hai?
Mi è capitato con VS2003 che a volte l'IDE non mi aggiungeva in automatico nel codebehind i controlli che aggiungevo senza usare il designer..
E siccome non uso mai il designer, dovevo switchare sul designer e salvare.
Non ho mai più avuto il problema nelle versioni successive..
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
ravalon
Profilo
| Expert
689
messaggi | Data Invio:
gio 21 ago 2008 - 20:36
Uso VWD 2005 e parlavo di una ASP:TextBox ma è lo stesso con qualsiasi controllo io metta...in effetti anche io non uso quasi mai il designer dato che mi mostra un vero e proprio macello.....
...se vado sul designer in effetti non vedo proprio tutto...che devo fare ?
AGGIORNAMENTO!!!
Confermo che se carico qualcosa dal Designer poi lo vedo....ma basta che lo sposto o lo rinomino che già non me lo vede più....è come se il mio VWD fosse un po sclerato.....cosa posso fare per eliminare questo problema ? Devo reinstallare VWD ??
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 22 ago 2008 - 09:29
>Confermo che se carico qualcosa dal Designer poi lo vedo....ma
>basta che lo sposto o lo rinomino che già non me lo vede più....è
>come se il mio VWD fosse un po sclerato.....cosa posso fare per
>eliminare questo problema ? Devo reinstallare VWD ??
Per me quello è sempre stato un mistero.. controlla che sia aggiornato al max.. di più non saprei che fare..
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
ravalon
Profilo
| Expert
689
messaggi | Data Invio:
ven 22 ago 2008 - 21:56
ho provato a reinstallare il tutto ma non è cambiato assolutamente niente...proverò come dici e ti farò sapere
balfaz
Profilo
| Expert
726
messaggi | Data Invio:
sab 23 ago 2008 - 10:16
questo a me è successo una volta sola e l'ho sistemato, rifacendo un progetto nuovo e portando dentro un form alla volta del vecchio progetto, facevo il build della PAGINA e continuavo se non ricordo male ero io che avevo combinato qualche cosa da qualche parte (sono stato un vago su questo vero???), spero l'informazione ti serva
"Ci sono due tipi di pazzi, quelli che dicono pazzie e quelli che le fanno diventare una realtà."
ravalon
Profilo
| Expert
689
messaggi | Data Invio:
sab 23 ago 2008 - 11:30
Ho notato che il problema , per quanto esista in generale su questa pagina e basta, è però limitato a tutto quello che mette all'interno del DATALIST....fuori da cio' tutto sembra funzionare....
Cosa posso fare allora limitatamente a questa pagina ?
Ho provato già con il rebuild della pagina stessa.... datemi un consiglio sennò non posso andare avanti col lavoro e mi trovo perso perchè non mi fa usare cio' che per forza devo usare...
Posso andare a mano ad inserire qualcosa nel codice simulando cosi di avere usato il designer ?
Ma almeno VWD 2008 è meglio in questo senso ?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
sab 23 ago 2008 - 12:54
>Ho notato che il problema , per quanto esista in generale su
>questa pagina e basta, è però limitato a tutto quello che mette
>all'interno del DATALIST....fuori da cio' tutto sembra funzionare....
ma quindi i controlli sono dentro un datalist?
allora, essendo un container, devi gestire gli eventi di binding e poi usare una FindControl per ricavare l'istanza del controllo interno al datalist..
Qualsiasi controllo che metti dentro ad un gridview, ad un datalist, ecc, non è direttamente accessibile da codebehind..
Allora tutto ha un senso ora
eccoti le reference:
ItemDataBound Event
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datalist.itemdatabound.aspx
FindControl Method
http://msdn.microsoft.com/en-us/library/system.web.ui.control.findcontrol.aspx
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
ravalon
Profilo
| Expert
689
messaggi | Data Invio:
sab 23 ago 2008 - 13:07
Allora sono stato un brocco io a non pensarci...perdonatemi
Ho già usato in altre occasioni il FindControl....
Per trovarli dentro al datalist uso questa sintassi e funziona
Dim txtQtDesiderata As textbox= CType(e.Item.FindControl("txtQtDesiderata"), textbox)
il mio problema è ...come faccio a creare l'evento CLICK se l'oggetto è dentro ad un DataList dato che non mi funziona l'intellisense ?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
sab 23 ago 2008 - 13:14
>il mio problema è ...come faccio a creare l'evento CLICK se l'oggetto
>è dentro ad un DataList dato che non mi funziona l'intellisense?
Nel pulsante che vai a mettere nel datalist valorizzi l'attributo OnClick="NomeTuoMetodo" e poi nel code behind metti il metodo NomeTuoMetodo con i parametri utili all'evento.
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
ravalon
Profilo
| Expert
689
messaggi | Data Invio:
sab 23 ago 2008 - 13:20
Si ok...ma cosi come faccio a distinguere il click su un bottone o su un altro se entrambi sono dentro al datalist ?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
sab 23 ago 2008 - 14:02
>Si ok...ma cosi come faccio a distinguere il click su un bottone
>o su un altro se entrambi sono dentro al datalist ?
se hai due bottoni, fai due metodi dove è il problema?
poi ogni riga gestirà sempre l'evento associato al suo pulsante..
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
ravalon
Profilo
| Expert
689
messaggi | Data Invio:
sab 23 ago 2008 - 14:43
Si ma se non ho capito male mi hai detto di mettere nel Datalist un evento OnClick giusto ?
Se ho capito bene, il datalist è uno solo, quindi qualsiasi cosa clicco mi porta ad un solo evento...
O forse intendevi dire che per ogni oggetto posso specificare un OnClick ?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
sab 23 ago 2008 - 19:57
>Si ma se non ho capito male mi hai detto di mettere nel Datalist
>un evento OnClick giusto ?
>O forse intendevi dire che per ogni oggetto posso specificare
>un OnClick ?
Per ogni pulsante messo nel datalisk ad esempio..
non onclick del datalist..
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
ravalon
Profilo
| Expert
689
messaggi | Data Invio:
sab 23 ago 2008 - 20:43
Ok...per un pulsante fuori dal datalist sono riuscito....
ma per uno dentro al datalist, che poi è cio' che mi serve, non riesco a usare per bene il findcontrol...
Ho creato una sub che viene richiamata al click del pulsante...
Dentro ho tentato di fare cosi
*****************************************
Dim txtQt As TextBox = CType(DataListProdottiCategoria.FindControl("txtQtDesiderata"), TextBox)
MsgBox(txtQt.Text)
*****************************************
Ma non me lo trova....
Riesco a farlo trovare correttamente invece nell'evento DataList_ItemDataBound ma cosa ci faccio da li dato che mi serve controllare il valore della textbox alla pressione del bottone ?
Cosa sbaglio ?
Risolto questo credo che non vi scoccerò più....e vi ringrazio moltissimo per la pazienza che avete...
P.S. certo che è una cavolata che se un oggetto è dentro un controllo non possa fare una cosa del tipo
contenitore.oggetto.proprietà...... non trovate ?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
sab 23 ago 2008 - 21:08
>Riesco a farlo trovare correttamente invece nell'evento DataList_ItemDataBound
>ma cosa ci faccio da li dato che mi serve controllare il valore della textbox alla pressione del bottone ?
gestisci l'evento itemcommand
DataList.ItemCommand Event
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datalist.itemcommand.aspx
e discrimini in base al CommandName (Attributo del controllo che vai a mettere nel datalist).
>
>P.S. certo che è una cavolata che se un oggetto è dentro un controllo
>non possa fare una cosa del tipo
>contenitore.oggetto.proprietà...... non trovate ?
Nativamente il controllo ha le sue proprietà.. Non puoi pretendere che aggiungendo un bottone tu possa trattarlo come nuova proprietà
In quel caso puoi farti un WebControl che al suo interno ha un datalist fatto come vuoi tu e poi aggiungere la proprietà personalizzata, in modo poi da gestire la cosa come:
TuoControllo.TuaProprietà = Valore
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
ravalon
Profilo
| Expert
689
messaggi | Data Invio:
sab 23 ago 2008 - 22:21
ho fatto cosi e funziona
Protected Sub DataListProdottiCategoria_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DataListProdottiCategoria.ItemCommand
Dim txtqt As TextBox = e.Item.FindControl("txtQtDesiderata")
MsgBox(txtqt.Text)
end sub
Però non ho gestito niente con la proprietà commandname, anche perchè alcuni controlli non la hanno e sto usando proprio quelli...
,,,,ma l'importante è che ho un metodo che funziona....grazie !!
Torna su
Stanze Forum
Elenco Threads
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 !