2012-02-10 45 views
10

Llamo a mi método de controlador utilizando .ajax. mi método de control llama al servicio web que devuelve el diccionario. ahora necesito devolver esto y completar la lista desplegable. Estoy tratando con JSON retorno y la necesidad de poblar el uso de éxito (respuesta)cómo devolver JSON con controlador MVC

estoy usando MVC 1,0

 $.ajax(
      { 
       url: 'LookupValue/', 
       data: { 'sLookupIds': selectedtext }, 
       datatype: "json", 
       traditional: true, 
       success: function (data) { 
        alert(data.value); 
       } 
      }); 

gracias por adelantado.

Respuesta

17

En controlador

public JsonResult LookupValue(String sLookupIds) 
    { 

     SelectList olist = new SelectList(oDict, "key","value"); 

     return Json(olist); 

    } 

En vista

 $.ajax(
      { 
       url: 'LookupValue/', 
       data: { 'sLookupIds': selectedtext }, 
       datatype: "json", 
       traditional: true, 
       success: function (data) { 
        $.each(data, function (index, val) { 
         $('#lookup') 
         .append($("<option></option>") 
         .attr("value", val.Value) 
         .text(val.Text)); 
         //ddHTML = ddHTML + "<option value='" + val.Value + "'>'" + val.Texts + "'</option>"; 
        }); 
       } 
      }); 
+0

En lugar de JsonResult y Json puede usar ActionResult y devolver SelectList. De esa forma puedes usar la negociación de contenido ... – mko

0

En su Action en su Controller:

return Json(data); 

Cuando los datos es el objeto que desea serialiazed a JSON.

Si desea utilizar Json.NET, simplemente anule el método Json.

+0

pero necesito para convertir diccionario para JSON cadena correcta? – jvm

Cuestiones relacionadas