2012-02-10 20 views
10

Sto chiamando il metodo del mio controller usando .ajax. il mio metodo di controllo chiama il servizio web che restituisce il dizionario. ora ho bisogno di restituire questo e popolare elenco a discesa. sto provando con JSON ritorno e bisogno di compilare con successo (risposta)come restituire JSON con MVC Controller

Sto usando MVC 1,0

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

grazie in anticipo.

risposta

17

controller

public JsonResult LookupValue(String sLookupIds) 
    { 

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

     return Json(olist); 

    } 

In considerazione

 $.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

Invece di JsonResult e Json è possibile utilizzare ActionResult e restituire SelectList. In questo modo puoi utilizzare la negoziazione del contenuto ... – mko

0

Nella tua Action nella vostra Controller:

return Json(data); 

Qualora i dati è l'oggetto che si desidera serialiazed a JSON.

Se si desidera utilizzare Json.NET, basta sovrascrivere il metodo Json.

+0

ma ho bisogno di convertire dizionario per JSON stringa corretta? – jvm

Problemi correlati