2017-08-27 62 views
0

我目前正在學習Angular Js。我在我的項目和Angular Js Packages中添加了ADO.NET Entitly模型。我無法從我的註冊頁面插入用戶註冊。我吃午飯的開發工具和它的表現以下錯誤......帶有此名稱的控制器未在Angulaj Js中用Sql Database註冊

Module.js:5 Uncaught ReferenceError: angular is not defined 
    at Module.js:5 
    at Module.js:60 
user.png Failed to load resource: the server responded with a status of 404 (Not Found) 
load.png Failed to load resource: the server responded with a status of 404 (Not Found) 
angular.min.js:42 Uncaught Error: [$injector:modulerr] 

這是我下的MyScript文件夾Module.js文件代碼..

var app; 

(function() { 
    var app = angular.module("myApp", []); 

    app.controller("Ctrl", ['$scope', function ($scope){ 

     $scope.SaveUser = function() { 
      $("#divLoading").show(); 
      var User = { 
       FName: $scope.fName, 
       LName: $scope.lName, 
       Email: $scope.uEmail, 
       Password: $scope.uPwd, 
       UserName: $scope.uName 
      }; 

      var response = myService.AddUser(User); 
      response.then(function (data) { 
       if (data.data == "1") { 
        $("#divLoading").hide(); 
        clearFields(); 
        alert("User Created !"); 
        window.location.href = "/Register/Login"; 
       } 
       else if (data.data == "-1") { 
        $("#divLoading").hide(); 
        alert("user alraedy present !"); 
       } 
       else { 
        $("#divLoading").hide(); 
        clearFields(); 
        alert("Invalid data entered !"); 
       } 
      }); 
     } 

     function clearFields() { 
      $scope.fName = ""; 
      $scope.lName = ""; 
      $scope.Email = ""; 
      $scope.Password = ""; 
      $scope.UserName = ""; 
     } 

    }]); 
    app.service("myService", function ($http) { 

     this.AddUser = function (User) { 
      var response = $http({ 
       method: "post", 
       url: "/Register/AddUser", 
       data: JSON.stringify(User), 
       dataType: "json" 
      }); 
      return response; 
     } 
    }) 
})(); 

這是我在controller.The名稱代碼我控制器RegisterController ..

public class RegisterController : Controller 
     { 
      public ActionResult Register() 
      { 
       return View(); 
      } 

      //To check that user entered is already present or not. 
      public bool CheckUser(string user) 
      { 
       bool Exists = false; 
       using (HalifaxDatabaseEntities context = new HalifaxDatabaseEntities()) 
       { 
        var uName = context.UserLogins.Where(x => x.UserName == user).ToList(); 
        if (uName.Count != 0) 
        { 
         Exists = true; 
        } 
       } 
       return Exists; 
      } 

      //For saving the user details in database table.   
      public string AddUser(UserLogin usr) 
      { 
       if (usr != null) 
       { 
        if (CheckUser(usr.UserName) == false) 
        { 
         using (HalifaxDatabaseEntities context = new HalifaxDatabaseEntities()) 
         { 
          UserLogin createUser = new UserLogin(); 
          createUser.UserName = usr.UserName; 
          createUser.Firstname = usr.Firstname; 
          createUser.Lastname = usr.Lastname; 
          createUser.Email = usr.Email; 
          createUser.DateTimeCreated = DateTime.Now; 
          createUser.Password = Utility.Encryptpassword(usr.Password); 
          context.UserLogins.Add(createUser); 
          context.SaveChanges(); 
         } 
         return "User created !"; 
        } 
        else 
        { 
         return "User already present !"; 
        } 
       } 
       else 
       { 
        return "Invalid Data !"; 
       } 
      } 
     } 
    } 

這裏是HTML代碼...

@{ 
    Layout = null; 
} 


<html ng-app="myApp"> 
<head> 
    <title>Register</title> 

    <script src="~/Scripts/MyScript/Module.js"></script> 
    <script src="~/Scripts/angular.min.js"></script> 
    <link href="~/Content/bootstrap.css" rel="stylesheet" /> 
</head> 
<body> 

    <div class="container" ng-controller="myCntrl"> 
     <br /> 

     <div class="row"> 
      <img src="~/Content/Images/user.png" /><h4>Register User</h4> 
      <hr /> 

      <br /> 
      <div class="col-md-6"> 
       <form name="userForm" novalidate> 
        <div class="form-horizontal"> 
         <div class="form-group"> 
          <div class="row"> 
           <div class="col-md-3" style="margin-left: 15px; color: #5bc0de;"> 
            First Name : 
           </div> 
           <div class="col-md-6"> 
            <input type="text" class="form-control" placeholder="First Name" name="fName" ng-model="fName" required autofocus /> 
           </div> 
          </div> 
         </div> 
         <div class="form-group"> 
          <div class="row"> 
           <div class="col-md-3" style="margin-left: 15px; color: #5bc0de;"> 
            Last Name : 
           </div> 
           <div class="col-md-6"> 
            <input type="text" class="form-control" placeholder="Last Name" name="lName" ng-model="lName" required autofocus /> 
           </div> 
          </div> 
         </div> 
         <div class="form-group"> 
          <div class="row"> 
           <div class="col-md-3" style="margin-left: 15px; color: #5bc0de"> 
            Email : 
           </div> 
           <div class="col-md-6"> 
            <input type="email" class="form-control" placeholder="User's Email" name="uEmail" ng-model="uEmail" required autofocus /> 
           </div> 
          </div> 
         </div> 
         <div class="form-group"> 
          <div class="row"> 
           <div class="col-md-3" style="margin-left: 15px; color: #5bc0de;"> 
            Username : 
           </div> 
           <div class="col-md-6"> 
            <input type="text" class="form-control" placeholder="Username" name="uName" ng-model="uName" required autofocus /> 
           </div> 
          </div> 
         </div> 
         <div class="form-group"> 
          <div class="row"> 
           <div class="col-md-3" style="margin-left: 15px; color: #5bc0de;"> 
            Password : 
           </div> 
           <div class="col-md-6"> 
            <input type="password" class="form-control" placeholder="Password" name="uPwd" ng-model="uPwd" required autofocus /> 
           </div> 
          </div> 
         </div> 
         <div class="form-group"> 
          <div class="row"> 
           <div class="col-md-4"></div> 
           <div class="col-md-3"> 
            <input type="button" value="Save" ng-click="SaveUser();" class="btn btn-success" /> 
           </div> 
           <div class="col-md-3"> 
            @Html.ActionLink("Sign in", "Login", "Register", new { @class = "btn btn-info" }) 
           </div> 
          </div> 
         </div> 
         <div class="form-group"> 
          <div class="row"> 
           <div class="col-md-6"> 
            <div id="divLoading" style="margin: 0px; padding: 0px; position: fixed; right: 0px; top: 0px; width: 100%; height: 100%; background-color: #666666; z-index: 30001; opacity: .8; filter: alpha(opacity=70); display: none"> 
             <p style="position: absolute; top: 30%; left: 45%; color: White;"> 
              please wait...<img src="~/Content/images/load.png"> 
             </p> 
            </div> 
           </div> 
          </div> 
         </div> 
        </div> 
       </form> 
      </div> 
     </div> 
    </div> 
</body> 
</html> 

下面是屏幕截圖,當我運行該應用程序Click here] 1

任何一個可以幫助我解決了這個錯誤here new screen shot

回答

1

除去第一var app;

這就像你在兩次聲明的應用程序,試試這個

var app = angular.module("myApp", []) 
    .controller('myCntrl',['$scope',function($scope){ 
     // your code here 
     }]) 
    .service(); 

UPDATE

Module.js,您已經定義了控制器app.controller("Ctrl",)的名字,但在當你調用它的HTML文件,你寫ng-controller='myCntrl'

你必須給他們相同的名字,就是這樣

相關問題