• User Newbie

    asp.net e accessibilità

    sto realizzando un sito in asp.net ed ho un problema durante la validazione W3C di una pagina.
    l'errore è:

    value of attribute "ID" invalid: "" cannot start a name .
    ...type="hidden" name="__VIEWSTATE" id="**
    **_VIEWSTATE" value="/wEPDwUKLTY4MzYyMDQ4ma non sono io a gestire il viestate! come posso fare per evitare questo errore? per favore, è urgente...grazie...


  • Moderatore

    Domanda interessante... Da quello che posso immaginare il codice autogenerato per il ViewState è immutabile, in quanto non viene interpretato nè nella pagina nè nel code behind (che hai a disposizione), ma solo dal motore ASP.NET che invece per quanto ne so è impenetrabile...

    Non vorrei buttarti giù :bho: ma ho la sensazione che non ci puoi fare nulla... A parte chiedere aiuto a Bill 😢.

    Mi auguro che qualcun'altro nel Forum possa fornirti una soluzione... 😞 Sono interessato alla sfida e (anche se non in tempi brevi...) provo a fare un giretto su google a cercare aiuto...


  • Moderatore

    Caspita non ci crederai ma forse la soluzione c'è!!!

    Esiste la possibilità di fare l'override delle due funzioni che gestiscono il ViewState:
    SavePageStateToPersistenceMedium che lo salva e LoadPageStateFromPersistenceMedium che lo legge...

    Veniamo al dunque...

    All'indirizzo che ti posto qui sotto trovi una spiegazione, e semplicemente cambiando il nome da passare alla funzione RegisterHiddenField puoi ottenere il risultato cercato in scrittura, devi solo ricordarti di cercare nel Request.Form, utilizzato in quella di lettura, l'id modificato nel modo corretto...

    Caspita!!! Fammi sapere se funziona :ciauz:

    Ops.. L'indirizzo: http://aspnetway.com/blogs/aspnetway/articles/salvare_il_viewstate_sul_server.aspx


  • User Attivo

    E' una cosa che ho notato anche io tempo fa.
    Asp.net è ancora troppo giovane anche se sta crescendo.
    All'epoca io non trovai soluzione.
    L'errore è dato dal fatto che nell'id viene specifico un name con doppio underscore (__viewstate appunto) che non è permesso come identificatore.
    Giustamente però è un nome che non è possibile definire.
    Il link di artcava potrebbe essere interessante ma lo trovo un mezzo pastrocchio per bypassare sta cosa. Potrebbe creare problemi non previsti ed aprire ad altri malfunzionamenti.
    Mi sa che toccherà aspettare ancora un po.