use*_*337 3 asp.net-mvc umbraco
我正在尝试在一个表面控制器中编写一个childaction函数,该控制器由宏调用以呈现PartialView.
我需要在此函数中访问我当前的页面属性,然后调整渲染的PartialView.
我从Jorge Lusar的ubootstrap代码中得到了这个,它在HttpPost ActionResult函数上工作正常:
var renderModel = (UmbracoRenderModel)ControllerContext.RouteData.DataTokens["umbraco"];
var currentPage = renderModel.CurrentNode.AsDynamic();
Run Code Online (Sandbox Code Playgroud)
问题是我在[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"];'
Run Code Online (Sandbox Code Playgroud)
DataTokens ["umbraco"]中的数据似乎在两个函数之间发生了变化.如果我在每一个上显示DataTokens ["umbraco"].ToString(),会发生以下情况:
在[ChildActionOnly]上显示公共PartialViewResult Init() - >"Surface".
在[HttpPort]上显示公共HandleSubmit(myModel模型) - >"Umbraco.Cms.Web.Model.UmbracoRenderModel".
感谢您的任何建议.
尼古拉斯.
我使用的是Umbraco 6.0.4,它很简单:
var currentNode = Umbraco.TypedContent(UmbracoContext.PageId);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13372 次 |
| 最近记录: |