2009-06-11 21 views
9

Estoy frente a un problema de simular como se indica en la pregunta "Html.DropDownList in ASP.NET MVC RC (refresh) not pre-selecting item"ASP.net MVC elemento DropDownList preseleccionada ignorado

estoy usando ASP.net MVC 1.0 y la necesidad de relacionar una llamada de JavaScript cuando se cambia el DropDownList .

<%=Html.DropDownList("SelectList", 
        (SelectList)ViewData["SelectList"], 
        new { onchange="javascript:selected_droplist();" })%> 

Todo esto es bueno, sino está ignorando mi artículo preseleccionado

Si quito la funcionalidad extra:

<%=Html.DropDownList("SelectList")%> 

Es feliz y voy a usar mi preseleccionado ít. ¡PERO no obtengo la acción de Javascript!

Entonces, ¿cómo agrego el javascript al evento onchange?

+0

pregunta relacionada: http://stackoverflow.com/questions/450669/how-do-i-dynamically-preselect-an-item-in-a-html-dropdownlist-in-asp-net-mvc –

+0

este problema nunca se soluciona o explica en la documentación – qsoft

Respuesta

0

Lamentablemente no estoy en el trabajo, así que no puedo obtener el código real. Sin embargo, logré esto escribiendo el evento javascript como un atributo html en el Controlador, luego lo pasé en ViewData.

Cuando se escribe el código:

<%=Html.DropDownList("SelectList", (SelectList)ViewData["SelectList"], [htmlAttribute]) 

Básicamente en el controlador que iba a escribir la htmlattribute y asignarlo en el método de lista desplegable.

+0

Gracias por responder, pero si lee mi pregunta completa, verá que puedo hacer que funcione como acaba de decir, PERO no utiliza mi elemento preseleccionado –

18

Found the Answer

Cuando el nombre dado al control (el primer parámetro siendo en este caso "SelectList") es lo mismo que una de las claves en el diccionario ViewData Básicamente tornillos y hace caso omiso de la pre el elemento seleccionado en el SelectList

simplemente cambiando el nombre del DropDownList funciona correctamente y se une al elemento pre-seleccionada

+0

Gracias !!! Esto me ha estado volviendo loco durante 2 días. – Alfa

+0

¡Gracias! Yo también, aunque encontré esto después de 30 minutos. – uriDium

0

sé que esto es una entrada antigua, pero me encontré con un enlace que muestra una solución alternativa donde se puede mantener el mismo nombre para la lista desplegable y mantener el enlace de datos para el modelo en el formulario de mensaje:

http://publicityson.blogspot.com/2010/07/aspnet-mvc-htmldropdownlist-not-showing.html

Creo que esto es un gran error, y me sorprende que no ha sido fijada todavía. De todos modos, espero que esto ayude.

Cuestiones relacionadas