【发布时间】:2012-04-20 14:06:55
【问题描述】:
我正在尝试在表面控制器中编写一个子动作函数,该函数被宏调用以呈现 PartialView。
我需要在这个函数中访问我当前的页面属性,然后调整渲染的 PartialView。
我从 Jorge Lusar 的 ubootstrap 代码中得到了这个,它在 HttpPost ActionResult 函数上运行良好:
var renderModel = (UmbracoRenderModel)ControllerContext.RouteData.DataTokens["umbraco"];
var currentPage = renderModel.CurrentNode.AsDynamic();
问题是我在 [ChildActionOnly] PartialViewResult 函数上抛出了这个错误:
Unable to cast object of type 'System.String' to type 'Umbraco.Cms.Web.Model.UmbracoRenderModel'.
on 'var renderModel = (UmbracoRenderModel)ControllerContext.RouteData.DataTokens["umbraco"];'
DataTokens["umbraco"] 中的数据似乎在两个函数之间发生变化。 如果我在每一个上显示 DataTokens["umbraco"].ToString(),会发生以下情况:
在 [ChildActionOnly] public PartialViewResult Init() -> "Surface" 上显示。
在[HttpPort] public HandleSubmit(myModel model) -> 显示“Umbraco.Cms.Web.Model.UmbracoRenderModel”。
在这里感谢您的任何建议。
尼古拉斯。
【问题讨论】:
标签: asp.net-mvc umbraco