简体   繁体   English

asp.net MVC返回json

[英]asp.net MVC return json

I use $http request to call MVC controller and return data in JSON format. 我使用$ http请求来调用MVC控制器并以JSON格式返回数据。 But i not able to get the result in javascript/angualr js. 但是我无法在javascript / angualr js中得到结果。 It return entire HTML page. 它返回整个HTML页面。 Where i made the mistake? 我在哪里弄错了?

myapp.controller('MyCtrl', ['$scope', '$http', function ($scope, $http) {
$scope.toggle = function () {
    $http({
        url: "/Admin/FilterMember",
        method: "GET",
        params: { id: $('#txtsearch').val() }
    }).then(function (result) {
        alert(result);
    });
};
}]);

Above is angular script in JS file. 上面是JS文件中的角度脚本。

public ActionResult FilterMember(string id)
{
    SqlParameter[] SqlParam = { new SqlParameter("@Filter", id) };
    DataTable dTable = MasterMindDB.dTableSP(DbConn, "SP_Get_MemberList", SqlParam);
    List<Member> member = new List<Member>();

    foreach (DataRow row in dTable.Rows)
    {
        member.Add(new Member
        {
            MemberName = row["Member ID"].ToString(),
            Email = row["Email"].ToString(),
            JoinDate = row["Join Date"].ToString(),
            Status = row["Status"].ToString()
        });
    }
    return View("Member", Json(member, JsonRequestBehavior.AllowGet));
}

Above is MVC controller 上面是MVC控制器

This action is for the FilerMember view 此操作适用于FilerMember视图

[HttpGet]
public ActionResult FilterMember () {
    return View();
}

This action will be called from the client side view. 该操作将从客户端视图调用。 No need to return a ViewResult , just the data 无需返回ViewResult ,只需返回数据

[HttpGet]
public ActionResult GetMemberById(string id) {
    SqlParameter[] SqlParam = { new SqlParameter("@Filter", id) };
    DataTable dTable = MasterMindDB.dTableSP(DbConn, "SP_Get_MemberList", SqlParam);
    List<Member> member = new List<Member>();

    foreach (DataRow row in dTable.Rows) {
        member.Add(new Member {
            MemberName = row["Member ID"].ToString(),
            Email = row["Email"].ToString(),
            JoinDate = row["Join Date"].ToString(),
            Status = row["Status"].ToString()
        });
    }
    //Just return JsonResult.
    return Json(member, JsonRequestBehavior.AllowGet);
}

Updated client 更新的客户端

myapp.controller('MyCtrl', ['$scope', '$http', function ($scope, $http) {
$scope.toggle = function () {
    $http({
        url: "/Admin/GetMemberById",
        method: "GET",
        params: { id: $('#txtsearch').val() }
    }).then(function (result) {
        alert(result);
    });
};
}]);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM