Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [2.0 VB] viewstate controlli disabilitati

    Ciao, ho una domanda da novellino ...un dubbio che riguarda il modo di .NET di gestire il viewstate dei controlli con l'attributo 'Enabled' settato a 'False'.

    Ho una form con diverse textBox e un pulsante 'salva'.

    La metà di queste textBox sono disabilitate, l'utente le può compilare solo mediante un javascript.

    Quando si clicca su 'salva' viene fatto un postBack per salvare le modifiche della form in un database.

    Nel database i dati rispecchiano fedelmente l'input salvato dall'utente ma a video solo le textBox NON disabilitate contengono i nuovi dati, quelle disabilitate invece si riaggiornano ai vecchi dati.

    Insomma devo fare un refresh per vedere i nuovi dati anche nelle textBox disabilitate

    Sicuramente è una cavolata ma non ne esco

  2. #2
    Scusate ho veramente un fottio di fretta oggi

    Come mai ste cavolo di textbox disabilitate mi si ripopolano coi vecchi valori dopo un'update?

    Il popolamento dei dati 'onLoad' lo faccio solo se la pagina non è un postback

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: non mi tornano proprio i conti:

    Se in un TextBox metto Enabled="false" e lo riempio con javascript, quaesto non spedisce niente via post nel postback :master:

    Se invece è abilitato, ma a solo lettura, effettivamente il riempimento tramite javascript viene spedito al server nel postback, ma il suo valore non viene riconosciuto nel server. Ossia, se faccio Response.write(Me.TextBox2.Text) -> stampa il vecchio valore, non il nuovo, e l'unico modo per recuparare il valore è vedere il request.form("TextBox2")

    oppure ho preso una cantonata e non ho capito nulla :master:

    Pietro

  4. #4
    Mi sa che hai capito.

    Però io fatico a capire se ho delle speranze di mettere a posto il problema oppure no, guarda questo screenshot .

    Le caselline sulla sinistra sono tutte Enabled e così pure quella Annotazioni.

    Se si clicca sul foglietto con la lente a fianco dei textbox sulla destra si apre un selettore di parti che poi passa i dati cliccati alla textBox annessa (i dati passati sono quelle scritte in grigino che si vedono nello screenshot).

    Se clicco su Salva le textbox disabilitate che avevo compilato ricompaiono vuote dopo il postback, questo anche se nel database i dati sono stati scritti giusti e nel pageLoad c'è la sintassi per leggerli da db e scriverli nelle textbox

    Stessa cosa se cancello usando l'icona a forma di cestino, le textbox non disabilitate rispecchiano sempre bene le modifiche mentre quelle disabilitate, in questo caso, restano piene del loro ultimo valore

    Probabilmente è un comportamento normale ma a me servirebbe proprio fare in questo modo, poichè lavoro solo con degli ID e l'utente non deve poter modificare i dati, li deve solo poter supervisionare.

  5. #5
    textbox1.Attributes.Add("readonly", "true"); //oppure "readonly", "readonly" :P
    Fiore Bat - www.bcscommunity.it

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: sentimi, l'immagine della pagina è bella, interessante, ma perfettamente inutile.
    Fai una pagina eliminando tutto tranne lo stretto necessario. Ci metti due TextBox, uno abilitato e uno no, due righe di codice, e spiega bene cosa vuoi ottenere. Poi sarà facile estrapolare alla tua pagina reale.
    Pietro

  7. #7
    Originariamente inviato da FiOrEbAt
    textbox1.Attributes.Add("readonly", "true"); //oppure "readonly", "readonly" :P
    Ho provato solo la prima sintassi e va benissimo, adesso le textbox mi si aggiornano bene e non riportano più i vecchi valori dopo il 'Save'.
    Grazie!!!


    Originariamente inviato da pietro09
    :master: sentimi, l'immagine della pagina è bella, interessante, ma perfettamente inutile.
    Fai una pagina eliminando tutto tranne lo stretto necessario. Ci metti due TextBox, uno abilitato e uno no, due righe di codice, e spiega bene cosa vuoi ottenere. Poi sarà facile estrapolare alla tua pagina reale.
    Mi devo scusare, di solito prima di postare sul forum faccio sempre una prova come quella che mi hai consigliato ma, purtroppo, in questo periodo non ho tempo manco per quello
    Sono incasinatissimo con le scadenze perchè sono l'unico responsabile di questo progetto e lo stò programmando in un linguaggio che ancora stò imparando.

    Figurati che, per poter andare avanti, avevo 'risolto' facendo chiudere il pannello alla pressione del tasto 'Save' dimodochè l'utente non potesse accorgersi dell'errore :rollo:

    Sai, come spesso accade ai 'pesci piccoli' della programmazione la maggior parte delle volte lavoro per persone che non hanno la possibilità di capire che non hai guardato porno tutto il giorno se, a sera, non hai qualcosa di nuovo e 'palpabile' da mostrargli

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.