Adding AJAX-support to the content item controller, fixes #2703

This commit is contained in:
Lombiq
2015-07-16 15:08:39 +02:00
parent 1471ab8cd5
commit 76b7121935

View File

@@ -9,9 +9,14 @@ namespace Orchard.Core.Contents.Controllers {
[Themed]
public class ItemController : Controller {
private readonly IContentManager _contentManager;
private readonly IHttpContextAccessor _hca;
public ItemController(IContentManager contentManager, IShapeFactory shapeFactory, IOrchardServices services) {
public ItemController(IContentManager contentManager,
IShapeFactory shapeFactory,
IOrchardServices services,
IHttpContextAccessor hca) {
_contentManager = contentManager;
_hca = hca;
Shape = shapeFactory;
Services = services;
T = NullLocalizer.Instance;
@@ -39,6 +44,10 @@ namespace Orchard.Core.Contents.Controllers {
}
var model = _contentManager.BuildDisplay(contentItem);
if (_hca.Current().Request.IsAjaxRequest()) {
return new ShapePartialResult(this,model);
}
return View(model);
}
@@ -62,6 +71,10 @@ namespace Orchard.Core.Contents.Controllers {
}
var model = _contentManager.BuildDisplay(contentItem);
if (_hca.Current().Request.IsAjaxRequest()) {
return new ShapePartialResult(this, model);
}
return View(model);
}
}