Ciao a tutti,
ho notato che ci sono dei problemi di base nello sviluppo di applicazioni in ASP.NET 2 con rendering in XHTML (da 1.0 strict a superiori).

In particolare un usando XHTML 1.0 strict , in fase di validazione ottengo il seguente errore :



Error Line 10 column 15: there is no attribute "name".
<form name="aspnetForm" method="post" action="Default.aspx" id="aspnetForm">



Io metto un id al form ma il framework crea automaticamente anche l'attributo "name" che non piace tanto al Validator del W3C.

C'è un modo per evitare questo errore? Si può constringere ASP.NET a non creare l'attributo "name" del form ma solo l'ID?

Se poi utilizzo XHTML 1.1 i problemi proliferano...
soprattutto per il fatto che nei campi che ASP.NET 2 crea per il suo funzionamento (tipo il campo hidden del viewstate) antepone al nome del campo il carattere __ (UnderScore) e questo crea altri problemi nella validazione.

E' possibile risolvere almeno il problema dell'attributo "name" del form per utilizzare XHTML 1.0 strict con ASP.NET 2 senza dover ricorrere a operazioni complesse o che rallentano il caricamento della pagina? Che ne so... magari "dicendo ad ASP.NET" di non generare l'attributo "name" del form.

Grazie

Esempio:


<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>
Titolo
</title>
</head>
<body >
<form name="aspnetForm" method="post" action="Default.aspx" id="aspnetForm">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTEwMDUyNjYzMjhkZGjrXUMxcWCwYwU0xILU4ivNYBRq" />
</div>
</form>
</body>
</html>


NetLand wrote:
C'è un modo per evitare questo errore? Si può constringere ASP.NET a non creare l'attributo "name" del form ma solo l'ID?

io ho solo cercato "XHTML", mi è venuto fuori questo:
http://www.aspitalia.com/script/773/Rendering-XHTML-1.1-ASP.NET-2.0.aspx

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
... e pensare che tempo fà l'avevo pure letto perchè mi pare sia arrivato come NewsLetter dal tuo sito. Però non ricordavo.

Quindi almeno fino a XHTML 1.0 Strict forse la validazione è possibile... ho provato con quel poco di codice che ho postato come esempio e la validazione è riuscita dopo aver modificato il web.config
Non va via comunque il carattere __ (UnderScore) che viene anteposto al nome del campo hidden del viewstate. Quindi problemi con XHTML 1.1

Non mi piace molto il discorso che bisogna creare una nuova definizione per il browser per "Validare le pagine ASP.NET 2.0 come XHTML con il validator del W3C". Se non specificato non capisco perchè deve generare markup diverso per il validator del W3C.
Chissà se ciò potrebbe dare problemi hai motori di ricerca (?)


Grazie & a presto.
NetLand wrote:
Quindi almeno fino a XHTML 1.0 Strict forse la validazione è possibile... ho provato con quel poco di codice che ho postato come esempio e la validazione è riuscita dopo aver modificato il web.config
Non va via comunque il carattere __ (UnderScore) che viene anteposto al nome del campo hidden del viewstate. Quindi problemi con XHTML 1.1

tra 1.0 Strict ed 1.1 ci sono pochissime differenze. e quei caratteri nell'attributo name non danno problemi.

Non mi piace molto il discorso che bisogna creare una nuova definizione per il browser per "Validare le pagine ASP.NET 2.0 come XHTML con il validator del W3C". Se non specificato non capisco perchè deve generare markup diverso per il validator del W3C.

è così dalla notte dei tempi di ASP.NET, perchè usa l'adaptive rendering. volendo puoi fare in modo che tutti abbiamo XHTML Strict, sempre agendo su questi file, ma perdi gran parte del bello dell'architettura dei controlli di ASP.NET.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.