2013-04-16 2 views
0

J'ai un formulaire .net qui a une liste déroulante qui affiche automatiquement. La plupart du temps, tout est grand, je reçois ceci:.net formulaire sorties javascript parfois, mais parfois pas

<td class="frmLabel">Province:</td><td><select name="ctl00$ProvinceDropDown" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ProvinceDropDown\',\'\')', 0)" id="ctl00_ProvinceDropDown"> 

Mais parfois (je vais aux situations dans une seconde) Je reçois ceci:

<td class="frmLabel">Province:</td><td><select name="ctl00$ProvinceDropDown" id="ctl00_ProvinceDropDown"> 

Notez l'absence du javascript cela fait le retour automatique.

Le seul problème survient sur IE10. Tous les autres navigateurs sont bien. Même IE10 en mode navigateur de IE9 ou IE10 Compatibility Mode est très bien.

Évidemment, cela ressemble à .Net ne reconnaît pas IE10 correctement. Et je suis au courant de ce correctif:

http://support.microsoft.com/kb/2600100

Mais:

a) Je ne reçois pas les symptômes exacts, je ne reçois pas '_doPostBack est indéfini. Le code .net ne génère tout simplement pas l'appel javascript.

b) J'ai un autre hôte sandbox, et quand je déplace le code, tout va bien, même IE10. Cet hôte n'a pas le correctif et possède les mêmes versions de .net (2.0 SP2, 3.0 SP2, 3.5 SP1) que l'autre.

Aussi le fichier ie.browser a le même contenu sur les deux hôtes, la ligne regex est toujours l'ancienne, celle qui est censée ne pas détecter IE10 correctement.

<capability name="majorversion" match="^[5-9]" /> 

Toutes les idées?

Répondre

0

À la fin, le correctif à http://support.microsoft.com/kb/2600100 a résolu le problème. Bizarre. Je ne peux pas expliquer pourquoi mon hôte non corrigé n'a pas rencontré le problème, mais la dernière chose sur laquelle je vais m'attarder est l'absence de problème.

0

Essayez d'ajouter <meta http-equiv="X-UA-Compatible" content="IE=edge" /> à votre <head>. Peut-être même IE = EmulateIE8 juste pour voir si cela a un effet ...

+0

J'ai essayé chaque balise X-UA-Compatible je pouvais trouver sur Internet. Puis s'est rendu compte que le problème est avec la toute première demande de page, et le cadre de crachement .net de code, pas avec le rendu html IE. –

0

modifier le fichier web.config et dans la section <system.web> ajouter

<browserCaps> 
      <case match="IE[ /](?'version'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*))"> 
       browser=IE 
       version=${version} 
       majorversion=${major} 
       minorversion=${minor} 
       frames=true 
       tables=true 
       cookies=true 
       javascript=true 
     javaapplets=true 
       activexcontrols=true 
       ecmascriptversion=1.5 
       vbscript=true 
       backgroundsounds=true 
       isMobileDevice="true" 
       <filter match="[4-9]" with="${major}"> 
        ecmascriptversion=1.3 
        css1=true 
        css2=true 
        xml=true 

        <filter match="[5-9]" with="${major}"> 
         w3cdomversion=1.0 
        </filter> 
        </filter> 
        <filter match="^b" with="${letters}"> 
        beta=true 
       </filter>                
      </case></browserCaps> 
Questions connexes