2012-02-10 9 views
10

मैं .ajax का उपयोग कर अपने नियंत्रक विधि को कॉल कर रहा हूं। मेरी नियंत्रक विधि कॉल वेब सेवा जो शब्दकोश देता है। अब मुझे इसे वापस करने और ड्रॉपडाउन सूची को पॉप्युलेट करने की आवश्यकता है। मैं वापसी JSON के साथ कोशिश कर रहा हूँ औरएमवीसी नियंत्रक के साथ जेएसओएन कैसे वापस करें

मैं पहले से MVC 1,0

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

धन्यवाद उपयोग कर रहा हूँ सफलता (प्रतिक्रिया) का उपयोग कर पॉप्युलेट करने के लिए की जरूरत है।

उत्तर

17

नियंत्रक

public JsonResult LookupValue(String sLookupIds) 
    { 

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

     return Json(olist); 

    } 

दृश्य

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

JsonResult और Json के बजाय आप ActionResult का उपयोग कर सकते हैं और SelectList को वापस कर सकते हैं। इस तरह आप सामग्री बातचीत का उपयोग कर सकते हैं ... – mko

0

अपने Action में अपने Controller में:

return Json(data); 

कहाँ डेटा आपके वस्तु आप JSON के serialiazed चाहते हैं।

यदि आप जेसन.NET का उपयोग करना चाहते हैं, तो बस जेसन विधि को ओवरराइड करें।

+0

में, लेकिन मैं JSON स्ट्रिंग के लिए सही शब्दकोश बदलने की आवश्यकता? – jvm

संबंधित मुद्दे