在aspx网页中通过Angularjs将数据传递给WebMethod

时间:2016-03-18 06:16:14

标签: javascript c# asp.net angularjs

希望了解如何使用WebMethod将数据传递到aspx页面中的Angularjs,我们在jQuery中执行此操作。

下面是我用来将数据加载到ui-grid的代码,目前我只在页面加载时加载。我希望根据传递给webmethod的数据按需提供信息。

var myApp = angular.module('sampleapp', ['ui.grid', 'ui.grid.selection', 'ui.grid.exporter', 'ui.grid.resizeColumns']);
    myApp.controller("appcontroller", function ($scope, $http) {
        $scope.gridOptions = {
            enableGridMenu: true,
            exporterMenuCsv: true,
            exporterMenuPdf: false,
            exporterCsvFilename: 'ExportExceptionFile.csv',

            data: 'BindDataTableusingJSON',
            columnDefs: [
            {
                field: 'FileID', displayName: 'File ID', width: '90'
            },
            {
                field: 'FileName', displayName: 'File Name', width: '180'
            }]
        };



    $scope.BindDataTableusingJSON = {
        "data": []
    };

    $http.post('WebForm1.aspx/GetUserData',
        {
            data:
            {}
        })           
    .success(function (data) {                   

        var d = JSON.parse(data.d);
        $scope.BindDataTableusingJSON = d;
    });
}).config(function ($httpProvider) {
    $httpProvider.defaults.headers.post = {};
    $httpProvider.defaults.headers.post["Content-Type"] = "application/json; charset=utf-8";
});  

我在aspx页面中的WebMethod

[WebMethod]
[ScriptMethod]
public static string GetUserData(string data) //wish to pass data here in 'string data'
{            
    return DataTableToJSONWithJavaScriptSerializer();
}

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

$http.post('WebForm1.aspx/GetUserData',
                {
                    {data: 'data value'}
                })           
                .success(function (data) {                   

                    var d = JSON.parse(data.d);
                    $scope.BindDataTableusingJSON = d;
                });