При запросе Виды из внутреннего интерфейса MVC, я хотел бы получить больше информации, чем просто Посмотреть содержание:MVC Просмотр в составе комплексной JsonResult
public class CustomJsonViewResult
{
public string Subject { get; set; }
public ActionResult View { get; set; }
}
выше класс стал бы complexer с течением времени.
Это будет создан в методе контроллера, как это:
public JsonResult Person()
{
return Json(new CustomJsonViewResult
{
View = View(),
Subject = "Update an existing person"
}, JsonRequestBehavior.AllowGet);
}
Там будет добавлена BL логика для определения предмета, а не статическое значения, которое сейчас там.
На принимающем клиенте у меня есть AngularJS директивы со ссылкой, как это:
link: function (scope, element, attrs) {
screensService.GetPartialView(attrs.view).then(function (viewData) {
var linkFunc = $compile(viewData.View);
var content = linkFunc(scope);
element.append(content);
});
}
Это работает, когда я возвращаю ActionResult непосредственно, но в текущем наборе вверх я получаю эту ошибку:
typeError: Cannot read property 'ownerDocument' of undefined
at Function.Sizzle.contains (jquery-2.1.4.js:1430)
at Function.jQuery.extend.buildFragment (jquery-2.1.4.js:5147)
at jQuery.fn.extend.domManip (jquery-2.1.4.js:5387)
at jQuery.fn.extend.append (jquery-2.1.4.js:5218)
at PartialViewLoaderDirective.js:27
at processQueue (angular.js:14569)
at angular.js:14585
at Scope.$get.Scope.$eval (angular.js:15848)
at Scope.$get.Scope.$digest (angular.js:15659)
at Scope.$get.Scope.$apply (angular.js:15953)
Если я регистрирую ViewData утешать, я получаю это:
Object {Subject: "Update an existing person", View: Object}
Subject: "Update an existing person"
View: Object
MasterName: ""
Model: null
TempData: Array[0]
View: null
ViewBag: Object
ViewData: Array[0]
ViewEngineCollection: Array[2]
ViewName: ""
jQuery21400306884015444666152: 19
__proto__: Object
__proto__: Object
Резюме
Любая идея, что причина этого Не удается прочитать свойство «ownerDocument» неопределенной ошибки? Насколько я вижу, все доступно, как и ожидалось.
См. [Этот ответ] (http://stackoverflow.com/questions/4730777/mvc-return-partial-view-as-json) для добавления представления к Jsonresult –