Java的 published_Umbraco当没有当前的PublishedContentRequest时,无法呈现宏

希望你能帮助我 . 我在使用RenderMvcController从我的umbraco razor页面调用一个视图时遇到了这个错误 . 它似乎无法在布局页面中呈现我创建的宏 .

第4行:}第5行:

第6行:@ Umbraco.RenderMacro("ExternalRedirect")第7行:

第8行:

源文件:c:\ Working \ Git \ ID \ UMB Packages \ Website \ Views \ Default.cshtml Line:6

堆栈跟踪:

[InvalidOperationException:当没有当前的PublishedContentRequest时无法呈现宏 . ] Umbraco.Web.UmbracoHelper.RenderMacro(字符串别名,IDictionary2参数)142 c:\ Working \ Git \ ID \ UMB包中的ASP._Page_Views_Default_cshtml.Execute() \ Website \ Views \ Default.cshtml:6 System.Web.WebPages.WebPageBase.ExecutePageHierarchy()280 System.Web.Mvc.WebViewPage.ExecutePageHierarchy()125 System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext,TextWriter writer, WebPageRenderingBase startPage)196 System.Web.WebPages.WebPageBase.Write(HelperResult result)89 System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName,Action1 body)233 System.Web.WebPages.WebPageBase.PopContext()287 Umbraco.Core .Profiling.ProfilingView.Render(ViewContext viewContext,TextWriter writer)140 System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)378 System.Web.Mvc . <> c__DisplayClass1a.b__17()33 System.Web.Mvc.ControllerActionInvo ker.InvokeActionResultFilter(IResultFilter filter,ResultExecutingContext preContext,Func1 continuation)799724 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter,ResultExecutingContext preContext,Func1 continuation)799724 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext,IList`1过滤器,ActionResult actionResult)263 System.Web.Mvc.Async . <> c__DisplayClass25.b__22(IAsyncResult asyncResult)787092 System.Web.Mvc . <> c__DisplayClass1d.b__18(IAsyncResult asyncResult)28 System.Web.Mvc.Async . <> c__DisplayClass4.b__3(IAsyncResult ar)15 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)65 System.Web.Mvc.Async . <> c__DisplayClass4.b__3(IAsyncResult ar)15 System.Web.Mvc.Controller.EndExecute( IAsyncResult asyncResult)51 System.Web.Mvc . <> c__DisplayClass8.b__3(IAsyncResult asyncResult)42 System.Web.Mvc.Async . <> c__DisplayClass4.b__3(IAsyncResult ar)15 System.Web.Mvc.MvcHandler .EndProcessRequest(IAsyncResult asyncResult)51 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()606 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean&completedSynchronously)288

public class BlogController : RenderMvcController

{

public BlogController()

: this(UmbracoContext.Current)

{

}

public BlogController(UmbracoContext umbracoContext)

: base(umbracoContext)

{

}

public ActionResult Index(int id)

{

return View("12321");

}

public ActionResult YearPost(int id)

{

string test = "Blog";

var criteria = ExamineManager.Instance.DefaultSearchProvider.CreateSearchCriteria("content");

var filterBlogs = id == 0 ? criteria.NodeTypeAlias("Blog") : criteria.NodeName("Blog");

var result = Umbraco.TypedSearch(filterBlogs.Compile()).ToArray().First();

var renderModel = CreateRenderModel(result);

string viewBlog = "BlogPostPage";

return View(viewBlog, renderModel);

}

private RenderModel CreateRenderModel(IPublishedContent content)

{

var model = new RenderModel(content,CultureInfo.CurrentUICulture);

//add an umbraco data token so the umbraco view engine executes

RouteData.DataTokens["umbraco"] = model;

RouteData.DataTokens["umbraco-doc-request"] = UmbracoContext.PublishedContentRequest;

RouteData.DataTokens["umbraco-context"] = UmbracoContext;

return model;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值