Domanda

Ho riscontrato uno strano problema con un progetto ASP.net MVC.

il seguente codice funziona bene in Firefox, Chrome, Safari IE8 - MA non IE8 in modalità Compatibilità IE7

<%  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%>

Quando imposto un punto di interruzione nel metodo SetStatus, la raccolta moduli elenca SelectStatus e ItemID. SelectStatus si risolve in " " invece di " Attivo " o " Disabilita " In tutti gli altri browser questo si risolve correttamente!

Qualche idea di cosa sta succedendo? Sto usando IE-8 RC1.

Di seguito è riportato il metodo di controllo 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
È stato utile?

Soluzione

Prova a impostare un valore esplicito per l'opzione

<option value="Active" selected="selected">Active</option>
<option value="Disable">Disable</option>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top