Pregunta

Me he encontrado con un extraño problema con un proyecto ASP.net MVC.

el siguiente código funciona bien en Firefox, chrome, Safari IE8, PERO no IE8 en el modo de compatibilidad de 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%>

Cuando establezco un punto de interrupción en el Método SetStatus, la Colección de formularios enumera SelectStatus y ItemID. SelectStatus se resuelve en " " en lugar de "Activo" o "Deshabilitar" ¡En todos los demás navegadores esto se resuelve correctamente!

¿Alguna idea de lo que está pasando? Estoy usando IE-8 RC1.

A continuación se muestra el método de control 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
¿Fue útil?

Solución

Intente establecer un valor explícito para la opción

<option value="Active" selected="selected">Active</option>
<option value="Disable">Disable</option>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top