2012-02-10 33 views
10

Tôi đang gọi phương thức điều khiển bằng cách sử dụng .ajax. phương thức điều khiển của tôi gọi dịch vụ web trả về từ điển. bây giờ tôi cần phải trả lại điều này và điền danh sách thả xuống. tôi đang cố gắng với sự trở lại JSON và cần phải cư sử dụng thành công (phản ứng)cách trả về JSON với Bộ điều khiển MVC

Tôi đang sử dụng MVC 1,0

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

cảm ơn trước.

Trả lời

17

Trong điều khiển

public JsonResult LookupValue(String sLookupIds) 
    { 

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

     return Json(olist); 

    } 

Theo quan điểm

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

Thay vì JsonResult và Json bạn có thể sử dụng ActionResult và trả về SelectList. Bằng cách đó bạn có thể sử dụng thương lượng nội dung ... – mko

0

Trong Action của bạn trong Controller của bạn:

return Json(data); 

đâu dữ liệu là đối tượng mà bạn muốn serialiazed để JSON.

Nếu bạn muốn sử dụng Json.NET, chỉ cần ghi đè phương thức Json.

+0

nhưng tôi cần phải chuyển đổi từ điển để JSON Chuỗi có đúng không? – jvm

Các vấn đề liên quan