[英]Angularjs null object problem to send mvc controller
我正在使用 asp.net 核心 3.1 和 angular js 进行开发。 我正在尝试将 object 从 js 发送到 mvc controller 但它总是需要空的 object 值另一方面 ZA8CFDE6331CBD4B66666 控制台中出现我没有找到任何事情可做或我犯了什么错误。 我现在该怎么办? 提前致谢
Html代码
<div class="row" ng-controller="EmployeeController as vm">
<form method="post" class="form-horizontal" id="EmployeeSetupForm"
name="EmployeeForm">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="bmd-label-floating">First Name</label>
<input type="text" class="form-control" required
ng-model="vm.eEmployee.FirstName" name="FirstName">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="bmd-label-floating">Middle Name</label>
<input type="text" class="form-control" required
ng-model="vm.eEmployee.MiddleName" name="MiddleName">
</div>
</div>
</div>
<div>
<div class="col-lg-3 float-left ">
</div>
<div class="col-lg-9 ">
<button type="button" class="btn btn-info"
ng-click="vm.SaveEmployee()">
<i class="glyphicon glyphicon-save"> Save</i>
</button>
</div>
</div>
</form>
</div>
js代码
和 mvc controller 和 model class
[HttpPost]
public ActionResult SaveEmployee(Employee employee)
{
var list = _empManager.Add(employee);
return Json(new {data= list });
}
db first 方法生成的 Model class
public partial class Employee
{
public int Id { get; set; }
public string FirstName { get; set; }
public string MiddleName { get; set; }
}
我找不到在 html 中定义 ng-module 的位置。下面提供了一个示例代码
<html ng-app="Employeemanagement"> <head> </head> <body ng-controller="EmployeeController as vm"> <label>Name:</label><input type="text" ng-model="ctrl.name" placeholder="Enter your name"/><br/><br/> <span ng-bind="vm.message"></span> <span ng-bind="ctrl.name"></span><br/><br/> <button ng-click="vm.changeMessage()"> Change Message </button> <button ng-click="vm.resetMessage()"> Reset Message </button> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.js"> </script> <script> angular.module('Employeemanagement', []).controller('EmployeeController', ['$http',function($http) { var vm = this; vm.name=''; vm.message= 'Hello'; vm.changeMessage = function() { vm.message = 'Bye'; }; vm.resetMessage = function() { vm.message = 'Hello'; }; vm.SaveEmployee = function(){ alert('test'); //here call $http.post method }; vm.SaveEmployee(); }]); </script> </body> </html>
添加如下标题
var post = $http({ method: "POST", url: "/Employee/SaveEmployee", dataType: 'json', data: {'Id':1,'FirstName':'A','MiddleName':'B'}, headers: { "Content-Type": "application/json" } });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.