2016-12-23 11 views
0

次のコードは、AngularjsコントローラからMVCコントローラにnullオブジェクトを送信しています。 "batarang" $スコープでは、EmployeeInfoオブジェクトが適切な値でHTML形式で表示されています。しかし、MVCメソッドはすべての値をnullにしています。私のコードは以下の通りですAngularjsモデルがMVCコントローラにnullを渡す

コントローラー:

Angular.module("myApp", []).controller("EmployeeBasicCtrl", function ($scope, $http) { 
$scope.signBox = false; 

$scope.SEX = [ 
    { text: "Non of above", value: "N" }, 
    { text: "Female", value: "F" }, 
    { text: "Male", value: "M" }, 

] 
$scope.submitBasicInfo = function() { 

    $http({ 
     method: 'POST', 
     url: '/EmployeeInfo/AddEmployee' 
    }).success(
    function (resp) { 
     $scope.success = resp.success; 
     $scope.Message = resp.Message; 
    } 
)// success en 

    } // end of submit form 
})// end of controller 

HTML:

<form ng-submit="submitBasicInfo()" name="EmployeeBasic" ng-controller="EmployeeBasicCtrl"> 

    <div class="well"> 
     <input type="hidden" name="EmpID" /> 
     <div class="panel panel-heading panel-primary"> 
      <div class="panel-heading"><h3> Personal Information </h3></div> 
      <label> First Name </label> 
      <input name="Fname" class="form-control" ng-model="EmployeeInfo.Fname" required /> 
      <small ng-show="EmployeeBasic.Fname.$touched && EmployeeBasicEmployeeBasic.Fname.$invalid">First Name is mandatory</small><br /> 
.......... 

MVCコントローラ:

[HttpPost] 
    public JsonResult AddEmployee(EmployeeInfo para) 
    { 
     return Json(new {success="success" },JsonRequestBehavior.AllowGet); 
    } 

EmployeeInfoクラス:

public class EmployeeInfo 
{ 
    public string EmpID { get; set; } 
    public string Fname { get; set; } 
    public string Sname { get; set; } 
    public DateTime DOB { get; set; } 
    public string Email { get; set; } 
    public string Mobile { get; set; } 
    public string Gender { get; set; } 
    public string UnitNo { get; set; } 
    public string StreetNo { get; set; } 
    public string Suburb { get; set; } 
    public string StateID { get; set; } 
    public string PostCode { get; set; } 

はヘルプを

答えて

0

を高く評価され、あなたがサービスを介してデータを掲載していないので、これは、それはあなたがバックエンド

にnullを得た理由はあなたのポストの要求が

$scope.EmployeeInfo ={'Fname':'',EmpID:''....all your child obj of EmployeeInfo } 

$scope.submitBasicInfo = function (EmployeeInfo) { 

    $http({ 
     method: 'POST', 
     url: '/EmployeeInfo/AddEmployee', 
     data: EmployeeInfo, // what data you want to send 
     headers: {'Content-Type': 'application/json'} 
    }); 
} 

ようにする必要がありますがEmployeeInfoを渡すことができますされます私はにReferenceError取得しています示唆した行を追加した後、ビュー

<form ng-submit="submitBasicInfo(EmployeeInfo)" name="EmployeeBasic" ng-controller="EmployeeBasicCtrl"> 
+0

からオブジェクト:EmployeeInfoが定義されていないエラーを –

+0

$ scope.EmployeeInfo = {'Fname': ''、..... .....} –

+0

のようなコントローラーで定義してください。でも、そのすべてを無駄にしてしまいました –

関連する問題