2009-03-03 5 views
1

J'ai rencontré un problème étrange avec un projet ASP.net MVC.Le formulaire html ne fonctionne pas avec la liste de sélection dans IE8 (Compatibilité IE7)

le code suivant fonctionne très bien dans Firefox, Chrome, Safari IE8 - mais pas IE8 en mode IE7 Compatability

<% Using Ajax.BeginForm("SetStatus", "StatusControl", New AjaxOptions With {.Confirm = "Are you sure you wish to change the Status?", .OnBegin = "Show_Updating", .OnComplete = "Hide_Updating"})%> 
    <%=Html.Hidden("ItemID")%> 
    <select id="SelectStatus" name="SelectStatus"> 
     <option selected="selected">Active</option> 
     <option>Disable</option> 
    </select> 
    <input type="submit" value="OK" title="Set Status" class="small_button" /> 
<% End Using%> 

Quand je mets un point de rupture dans la méthode SetStatus la liste Collection formulaire SelectStatus et ItemID. Le SelectStatus résout à "" au lieu de "Actif" ou "Désactiver" Dans tous les autres navigateurs ceci résout correctement!

Une idée est ce qui se passe? J'utilise IE-8 RC1.

est inférieure à la méthode de contrôle SetStatus

<AcceptVerbs(HttpVerbs.Post)> _ 
Function SetStatus(ByVal form As FormCollection) 
    Dim status = form("SelectStatus") 

    Select Case status 
     Case "Active" 
      Dim ItemID As Integer = form("ItemID") 
      Return Restore(ItemID) 
     Case "Disable" 
      Dim ItemID As Integer = form("ItemID") 
      Return Disable(ItemID) 
    End Select 

    Return Content("Errors") 
End Function 

Répondre

2

Essayez de fixer une valeur explict pour l'option

<option value="Active" selected="selected">Active</option> 
<option value="Disable">Disable</option> 
+0

cela a fonctionné grâce! –

Questions connexes