2013-08-19 36 views
4

我有一个奇怪的问题。我在我的项目中使用AngularJS。我有一些部分视图,我有不同的AngularJS功能实现。我通过Ajax调用加载了所有的部分视图。 Ajax调用不会在容器中加载部分视图,但其AngularJS功能不起作用。我注意到,当我通过CDN参考AngularJS时,它可以工作,但是当我将CDN JS复制并粘贴到本地js文件中时,它不会。AngularJS不适用于MVC部分视图

请提出什么问题。

下面是代码:

管窥:

<div ng-controller="EmployeeController"> 
    <div> 
     ID: <input type="text" id="txtID" ng-model="employeeID" /><br /> 
     Name: <input id="txtName" type="text" ng-model="employeeName" /> 
     <button id="btnAddEmployee" ng-click="addEmployee()">Add Employee</button> 
     <button id="btnRemoveEmployee" ng-click="removeEmployee()">Remove Employee</button> 
     <ul > 
      <li ng-repeat="employee in employees"> 
       Employee id is: {{employee.id}}<br /> 
       Employee name is: {{employee.name}} 
      </li> 
     </ul> 
    </div> 
</div> 

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script> 

<script> 
    var employees = [{ name: 'ABC', id: '1' }, 
        { name: 'XYZ', id: '2' }, 
        { name: 'KKK', id: '3' }]; 

    function EmployeeController($scope) { 
     $scope.employees = employees; 
     $scope.addEmployee = function() { 
      $scope.employees.push({ name: $scope.employeeName, id: $scope.employeeID }); 
     } 
     $scope.removeEmployee = function() { 
      $scope.employees.pop(); 
     } 
    } 
</script> 

控制器:

public PartialViewResult LoadViews(int id) 
{ 
    if (id == 1) 
     return PartialView("TestView1Partial"); 
    else 
     return PartialView("TestView2Partial"); 
} 

主视图:

<ul> 
    <li> 
     <a href="#" onclick="LoadView2()">View 2</a> 
    </li> 
</ul> 

<div id="dvContainer"> 

<script> 
    function LoadView2() { 
     $.ajax({ 
      url: "/home/LoadViews?id=2", 
      type: "GET", 
      datatype: "html", 
      async:true, 
      success: function (result) { 
       $("#dvContainer").html(result); 
      } 
     }); 

    } 
</script> 

感谢, JSHunjan

+1

所以问题是,当您从使用CDN更改为使用本地版本的文件时,Angularjs不起作用? –

+0

是的,这是我面临的问题。 – JSHunjan

+0

你如何导入你的angular.js本地文件?你为一个简单的问题写了一个大问题。 –

回答

0

在你的AJAX调用改变async:false,它可能会奏效。