У меня есть тип документа, который позволяет пользователям выбирать предупреждения для страниц, используя многоуровневый treepicker. Оповещения являются экземплярами другого типа документа. У предупреждений нет собственной страницы, поэтому я хотел использовать выбранный вами шаблон как частичный. То, что я хочу сделать что-то вроде:Рендеринг содержимого на странице Umbraco
var alertIds = Model.Content.GetPropertyValue("alert");
List<umbraco.NodeFactory.Node> alerts = new List<umbraco.NodeFactory.Node>();
foreach (var alertId in alertIds.ToString().Split(','))
{
alerts.Add(new umbraco.NodeFactory.Node(int.Parse(alertId)));
}
Тогда в качестве примера я мог бы сделать:
library.RenderTemplate(alerts[0].Id)
Я хотел бы сделать это так, потому что мне нравится идея, что шаблоны могут быть выбраны в Umbraco
и просто знаете, как сделать себя, а не создавать частичное в моем проекте MVC и обрабатывать его с этой стороны. Однако я столкнулся с такой ошибкой:
"Error rendering template with id 1128: 'System.InvalidOperationException: A single instance of controller 'Umbraco.Web.Mvc.RenderMvcController' cannot be used to handle multiple requests. If a custom controller factory is in use, make sure that it creates a new instance of the controller for each request.\r\n at System.Web.Mvc.ControllerBase.VerifyExecuteCalledOnce()\r\n at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)\r\n at System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext)\r\n at System.Web.Mvc.MvcHandler.ProcessRequest(HttpContextBase httpContext)\r\n at Umbraco.Web.Mvc.UmbracoMvcHandler.ExecuteUmbracoRequest()\r\n at Umbraco.Web.Templates.TemplateRenderer.RenderUmbracoRequestToString(RequestContext requestContext)\r\n at Umbraco.Web.Templates.TemplateRenderer.ExecuteTemplateRendering(TextWriter sw, PublishedContentRequest contentRequest)\r\n at Umbraco.Web.Templates.TemplateRenderer.Render(StringWriter writer)\r\n at umbraco.library.RenderTemplate(Int32 PageId, Int32 TemplateId)' "
Заранее благодарим за это!
Спасибо, это сработает! –