2013-09-24 80 views
0

我是ASP.NET MVC和jQuery的新手,我試圖將下面的內容關閉。.get List <string> from controller method and display

試圖得到這個List<string>並顯示它。在GET響應中,我有以下System.Collections.Generic.List 1 [System.String]`在這種情況下'lable1'也包含。

我在做什麼錯?我該怎麼辦?

在控制器:

public List<string> Search(string input, SearchBy searchBy) 
{   
     Manager manger = new Manager(); 
     List<string> MyList = manger.GetData(input, searchBy);               
     return MyList; 
} 

在視圖:

$('#ii-search').click(function() { 
     var number = $('#input').val(); 
     var typeEn = 'CCC'; 

     $.ajax({ 
      url: '@Url.Action("Search", "InitiateInspection")', 
      data: { input: number, searchBy: typeEn }, 
      cache: false, 
      success: function (data) { 

       for (var i = 0; i < 4; i++) { 

        $('#lable1').html(data[i]); 
       }     
      } 
     }); 

感謝

回答

3

你想返回一個JsonResult。所以,在你的控制器,試試這個:

public JsonResult Search(string input, SearchBy searchBy) 
    {   
     Manager manger = new Manager(); 
     List<string> MyList = manger.GetData(input, searchBy);               
     return Json(MyList, JsonRequestBehavior.AllowGet); 
    } 

從本質上講,JSON的功能將您的列表轉化爲您JSON對象。

+0

非常感謝你。它的作品:) – Georgi

+0

@ user2382835沒問題,很高興我可以幫忙!請接受答案。 – kenttam

0

正是爲解釋kenttam並在您的視圖執行以下操作:

$('#ii-search').click(function() { 
    var number = $('#input').val(); 
    var typeEn = 'CCC'; 

    $.ajax({ 
     url: '@Url.Action("Search", "InitiateInspection")', 
     dataType: 'json', 
     data: { input: number, searchBy: typeEn }, 
     cache: false, 
     success: function (data) { 
      for (var i = 0; i < data.length; i++) { 

       $('#lable1').html(data[i]); 
      }     
     } 
    }); 
}); 
+0

非常感謝,非常有幫助:) – Georgi

相關問題