Abbiamo appena aggiornato la nostra applicazione da ASP.Net 2.0 ad ASP.Net 4.0.Qual è l'impostazione corretta di ClientIDMode in ASP.Net 4 per ottenere il rendering di ASP.Net 2.0.
Abbiamo incluso nel web.config nell'elemento <system.web>
:
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" />
mia comprensione è che questo dovrebbe rendere i controlli lo stesso di Net 2.0/3.5 sarebbe.
Tuttavia ... non è ... qui è un esempio
Questo è reso in 2.0:
<input id="grdUserEntity__ctl1_chkSelectAll" type="checkbox"
name="grdUserEntity:_ctl1:chkSelectAll" onclick="javascript:iSelectAll();" />
Questo è in 4.0:
<input id="grdUserEntity_ctl01_chkSelectAll" type="checkbox"
name="grdUserEntity$ctl01$chkSelectAll" onclick="javascript:iSelectAll();" />
La differenza:
2.0 id=grdUserEntity__ctl1_chkSelectAll
4.0 id=grdUserEntity_ctl01_chkSelectAll
Secondo a ciò che leggo quell'impostazione di configurazione farà sì che ASP.Net 4.0 esegua il rendering dei controlli server e dell'ID client in modo identico alla versione precedente.
Cosa stiamo sbagliando?
Abbiamo javascript basato sul modo in cui rende il rendering 2.0. Quindi, sì, abbiamo diversi problemi di regressione ora. – PilotBob
Sì ... questo risolve la regressione. Grazie mille. – PilotBob
Ottimo! Buono a sapersi. – InfinitiesLoop