.get从控制器方法列出<string>并显示</string>

时间:2013-09-24 17:00:43

标签: c# jquery asp.net-mvc string list

我是ASP.NET MVC和jQuery的新手,我正试图解决以下问题。

尝试获取此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]);
                }                  
            }
        });

由于

2 个答案:

答案 0 :(得分: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对象。

答案 1 :(得分: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]);
            }                  
        }
    });
});