[C#]使用 Angularjs 的值 null 在服务器代码从获取 ajax 调用

标签: jQuery AngularJS C#
发布时间: 2017/2/24 2:52:09
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我建立了一个 MVC 应用程序来将表单数据插入到数据库。我用 angularjs 图书馆 html5 和引导。

下面是 HTML 中的一些主要的线条。 窗体标记︰

 <form ng-app='MyData' ng-controller='DataController'>

按钮 ():

<input type="button" value="Submit" ng-click="addUser();" id="btnSubmitAddUsr" class="btn btn-success" />

下面使用 Jquery 和角 js 的 ajax 调用︰

var myData = angular.module('MyData', []);
myData.controller("DataController", function ($scope, $http) {
     $scope.addUser = function () {
                $.ajax({
                    type: 'POST',
                    contentType: 'application/json; charset=utf-8',
                    data: JSON.stringify($scope.usrFName, $scope.usrEmail, $scope.usrPhone, $scope.selectApp.id, $scope.usrRole),
                    url: '/Home/AddUser',
                    success: function (data, status) {
                        $scope.clear();
                    },
                    error: function (status) { }
                });
            };
 });

C# 方法︰

[HttpPost]
public JsonResult AddUser(string usrFName, string usrEmail, string usrPhone, string usrApp, string usrRole)
    {
        var db = new SchedulerEntities();
        db.Users.Add(new User { Name = usrFName, Password = "testPwd", Email = usrEmail, Phone = usrPhone, ApplicationId = Convert.ToInt32(usrApp), RoleId = Convert.ToInt32(usrRole) });
        db.SaveChanges();
        return null;
    }

上面的 C# 方法被调用;但参数显示为空。也当我检查 $scope 变量从浏览器;窗体值那里显示正确。

请建议。

解决方法 1:

你通常不需要使用 $scope 作为您的模型,而是创建一个对象,用于您的模型范围......你会碰上与原型继承的其他一些问题的方式,你正在做的人们。当你使用吴模型时,你应该总是有 '.' 在表达式中。

您还应该使用 $http 而不是 $虽然 (它会处理您的序列化和运行一个消化周期在调用完成时)。

var myData = angular.module('MyData', []);
myData.controller("DataController", function ($scope, $http) {
     $scope.form = {usrFName: '', usrEmail: '', usrApp: ''}; // initialize any other form variables 
     $scope.addUser = function () {
         $http.post('/Home/AddUser', $scope.form)
             .success(function(){$scope.clear();});
     };
 });
赞助商