Principales respuestas
Tomar el Value del elemento seleccionado en un DropDownList

Pregunta
-
Hola:
Tengo un DropDownList cargado con elementos de un json, de la lista cargada necesito tomar el Value para ejecutar una funcion del Controller y recuperar un valor para mostrarlo en un control de la vista.
Mi pregunta es, ¿como tomar el valor del DropDownList cargado con un json?
Saludos desde Monterrey, Nuevo León, México!!!
Respuestas
-
hola
>>Creo que lo mas sano seria usar jquery y ajax tal cual como me lo comentaron en la pregunta anterior.
puedes suar jquery si asi lo quieres, en ese caso vas a tener que definir el selector del combo que lista las colonias
podrias inspeccionar el html generado con el developer tools del browser al cual accedes con F12, entonces saber cual es el id del ese combo
usarias en el codigo cliente
var coloniaId = $("#idcombocolonia").val();
ese valor lo pasaras por $.ajax al action
var params = { coloniaId : $("#idcombocolonia").val() }; $.ajax({ type: "POST", url: '@Url.Action("ActionXX")', data: params, contentType: "application/json; charset=utf-8", dataType: "json", . .
en el controller defines un action que sea
public class xxCtrl : Controler{ [HttpPost] public ActionResult ActionXX(int coloniaId){ //codigo } }
es importante que los dos valores que marco en negrita coincidan
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Propuesto como respuesta Sergio ParraModerator lunes, 30 de noviembre de 2015 8:12
- Marcado como respuesta JoséLuisGarcía martes, 1 de diciembre de 2015 5:11
Todas las respuestas
-
>>¿como tomar el valor del DropDownList cargado con un json?
en realidad depende, la idea es realziar un post al actiond el controller o vas a usar jquery para tomar el valor y enviarlo por $.ajax
la idea igual es que el valor con el cual enviaes coincida con un parametro del action
en los articulos que comente en la otra pregunta explico sobre el tema
el "name" que defines en el dropdownlist lo debes declarar en el action para que al hacer el post el modelbinding de asp.net mvc pueda asignarlo
analiza en los articulo como envio el valor del combo al controller
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina -
Hola:
Siguiendo en el mismo camino de Estados, Municipios y Colonias ahora necesito recuperar el Código Postal de la colonia, este código Postal esta relacionado con la Colonia a través del CodigoPostalId.
Colonia ColoniaId CodigoPostalId Nombre CodigoPostal CodigoPostalId Codigo
Cuando cargo el DropDown de colonias:
[AcceptVerbs(HttpVerbs.Get)] public ActionResult GetById(string municipioId) { if (String.IsNullOrEmpty(estadoId)) { throw new ArgumentNullException("municipioId"); } int id = 0; bool isValid = Int32.TryParse(municipiooId, out id); var states = _coloniasRepository.Filter(x => x.MunicipioId.Equals(id), true); var result = (from s in states select new { Value = s.ColoniaId, Text = s.Nombre }).ToList(); return Json(result, JsonRequestBehavior.AllowGet); }
Como veras, no tengo mas información en el DropDown mas que el Value y el Text entonces para poder recuperar el CodigoPostal usando el CodigoPostalId necesito primero recuperar la ColoniaId, una vez que yo tenga el CodigoPostal lo que quiero es simplemente mostrarlo en un control de la vista.
Creo que lo mas sano seria usar jquery y ajax tal cual como me lo comentaron en la pregunta anterior.
Nuevamente revisare el articulo que me sugieres a ver si encuentro algo que pueda servirme
Gracias.
Saludos desde Monterrey, Nuevo León, México!!!
-
hola
>>Creo que lo mas sano seria usar jquery y ajax tal cual como me lo comentaron en la pregunta anterior.
puedes suar jquery si asi lo quieres, en ese caso vas a tener que definir el selector del combo que lista las colonias
podrias inspeccionar el html generado con el developer tools del browser al cual accedes con F12, entonces saber cual es el id del ese combo
usarias en el codigo cliente
var coloniaId = $("#idcombocolonia").val();
ese valor lo pasaras por $.ajax al action
var params = { coloniaId : $("#idcombocolonia").val() }; $.ajax({ type: "POST", url: '@Url.Action("ActionXX")', data: params, contentType: "application/json; charset=utf-8", dataType: "json", . .
en el controller defines un action que sea
public class xxCtrl : Controler{ [HttpPost] public ActionResult ActionXX(int coloniaId){ //codigo } }
es importante que los dos valores que marco en negrita coincidan
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Propuesto como respuesta Sergio ParraModerator lunes, 30 de noviembre de 2015 8:12
- Marcado como respuesta JoséLuisGarcía martes, 1 de diciembre de 2015 5:11