Я использую образец DancingGoatMVC из Kentico.
Сейчас я проверяю, могу ли я добавить страницу статьи, используя API.
По сути, я добавил новый метод в контроллер статьии просмотры.
Как вы можете видеть, я уже заполняю имя документа, но ошибка все еще происходит, какие-либо идеи по ее устранению и что я могу упустить, что вызывает эту проблему?
Спасибо
Контроллеры:
public ActionResult Add()
{
return View();
}
[HttpPost]
public ActionResult Add(ArticleViewModel articleViewModel)
{
// Creates a new instance of the Tree provider
TreeProvider tree = new TreeProvider(MembershipContext.AuthenticatedUser);
// Gets the current site's root "/" page, which will serve as the parent page
TreeNode parentPage = tree.SelectNodes()
.Path("/Articles")
.OnCurrentSite()
.Culture("en-us")
.FirstObject;
if (parentPage.DocumentName != null)
{
TreeNode newPage = TreeNode.New(SystemDocumentTypes.Root,
tree);
// Sets the properties of the new page
newPage.DocumentName = "Articles";
newPage.DocumentCulture = "en-us";
newPage.SetValue("Title", "test");
newPage.SetValue("Summary", "test");
newPage.SetValue("Text", "test");
newPage.SetValue("DocumentName", "Articles");
// Inserts the new page as a child of the parent page
newPage.Insert(parentPage,true);
}
return RedirectToAction("Index");
}
Ошибка:
Ошибка сервера в приложении '/ Kentico12_DancingGoatMvc'.Значение DocumentName не указано.Описание: во время выполнения текущего веб-запроса произошло необработанное исключение.Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении: System.Exception: значение DocumentName не указано.
Ошибка источника:
Строка 90: newPage.SetValue ("DocumentName", "Articles");Строка 91: // Вставляет новую страницу как дочернюю родительскую страницу. Строка 92: newPage.Insert (parentPage, true);Строка 93:} Строка 94:
Исходный файл: C: \ inetpub \ wwwroot \ Kentico12 \ DancingGoatMvc \ Controllers \ ArticlesController.cs Строка: 92
Трассировка стека:
[Исключение: значение DocumentName не указано.] CMS.DocumentEngine.TreeNode.InsertNode (родительский узел TreeNode) в D: \ CMS \ MAIN \ CMSSolution \ DocumentEngine \ Documents \ TreeNode.cs: 4008 CMS.DocumentEngine.TreeNode.Insert (TreeNodeparent, логическое значение useDocumentHelper) в D: \ CMS \ MAIN \ CMSSolution \ DocumentEngine \ Documents \ TreeNode.cs: 3959 CMS.DocumentEngine.DocumentHelper.InsertDocument (узел TreeNode, TreeNode parentNode, дерево TreeProvider, логическое значение allowCheckOut \ C в C:MAIN \ CMSSolution \ DocumentEngine \ DocumentHelper.cs: 457 CMS.DocumentEngine.TreeNode.Insert (родительский узел TreeNode, логическое значение useDocumentHelper) в D: \ CMS \ MAIN \ CMSSolution \ DocumentEngine \ Documents \ TreeNode.cs: 3946 DancingGoat.Controllers.Добавить (ArticleViewModel articleViewModel) в C: \ inetpub \ wwwroot \ Kentico12 \ DancingGoatMvc \ Controllers \ ArticlesController.cs: 92 lambda_method (Closure, ControllerBase, Object []) +139 System.Web.Mvc.ReflectedActionDescriptor.Execute (параметры ControllerContext controllerContext, IDictionary 2 parameters) +229
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary
2 параметра) +35 System.Web.Mvc.Async.AsyncControllerActionInvoker.yncsRRR, ActionInvocation innerInvokeState) +39 System.Web.Mvc.Async.WrappedAsyncResult 2.CallEndDelegate(IAsyncResult asyncResult) +77
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +42
System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d() +72
System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +387
System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +387
System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +387
System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +387
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +42
System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +38
System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +188
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +38
System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +29
System.Web.Mvc.Async.WrappedAsyncVoid
1.CallEndDelegate (IAsyncResult asyncResult) +73 System.Web.Mvc.Controller.EndExecuteCore (IAsyncResult.52.Sync.WrappedAsyncVoid 1.CallEndDelegate(IAsyncResult asyncResult) +39
System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +38
System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +43
System.Web.Mvc.Async.WrappedAsyncVoid
1.CallEndDelegate (IAsyncResult asyncResult) +73 System.Web.Mvc.MvcHandler.EndProcessRequest (IAsyncResult asyncResult) +38 System.Web.CallHandlerExecutionStepT.Exp.Exp.Exp.Exp..HttpApplication.ExecuteStepImpl (шаг IExecutionStep) +195 System.Web.HttpApplication.ExecuteStep (шаг IExecutionStep, логический и завершенный синхронно) + 128