I am currently loading Partial View returned by MVC controller to a model dialog via AngularJS $http.get call. My View in rendered properly in modal dialog, but the only problem is that my partial view which is rendered also uses angular expressions etc. and for some reason angular is not working in my partial view, but if i load this partial view in some other view without ajax call then it angular works properly.
Partial View Code: ~/Views/ArticleType/_Add
MVC Controller: ArticleTypeController
//other scripts files e.g app.js and angular.js are included in main layout file.
<script src="~/Scripts/Angular/ArticleTypeController.js"></script>
<div class="modal-content" ng-controller="ArticleTypeController">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
Add New Article Type
</div>
<form novalidate role="form" name="ArticleTypeForm" ng-submit="ArticleTypeForm.$valid && Add(model)">
<div class="modal-body">
<div class="form-group">
<label for="ArticleType" class="control-label">Article Type</label>
<input type="text" required ng-model="model.ArticleTypeName" class="form-control" id="ArticleType" />
</div>
</div>
</form>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary" value="Add" >Add</button>
{{ArticleTypeForm.$valid}}
</div>
</div>
Controller to load modal with the partial view.
MenuController.js
angular.module('myApp').controller('MenuController', [
'$scope', '$http', 'httpPreConfig', function ($scope, $http, httpPreConfig) {
$scope.AddArticleType = function () {
$.get("/ArticleType/Add")
.success(function (response) {
ShowModal(response);
});
}
}]);
common.js
$(document).ready(function (e) {
$(document).ajaxStart(function (e) {
$("#loadingBar").modal('show');
});
$(document).ajaxStop(function(e) {
$("#loadingBar").modal('hide');
});
$(document).ajaxComplete(function (e) {
$("#loadingBar").modal('hide');
});
$(document).ajaxError(function (e) {
$("#loadingBar").modal('hide');
});
});
function ShowModal(content) {
$("#modal .modal-dialog").html(content);
$("#modal").modal("show");
}
function HideModal() {
$("#modal .modal-dialog").html("");
$("#modal").modal("hide");
}
Image:
http://i.stack.imgur.com/Y0txl.png[
^]
Any help would be really appreciated. Just so that you know, angular expressions etc. are working in normal views.
Here is the download link to the solution files. : https://app.box.com/s/rxvrhwcdp75zo736k7u5