我已经和Umbraco 5玩了好几天了。我已经使用一些我已插入页面模板的虚拟文本进行了局部视图。工作良好。问题是当我必须将数据从控制器传递到视图时。
视图继承自RenderViewPage(@inherits RenderViewPage
),默认为Umbraco 5.我试图通过@model ViewPage<Umbraco.Cms.Web.UI.Models.Test>
按常规MVC方式进行,但是我收到了一个错误。
答案 0 :(得分:2)
首先应该创建一个Surface控制器(可以在单独的项目中完成,也可以直接在主项目中创建控制器文件夹):
public class ContactFormSurfaceController : SurfaceController
{
[ChildActionOnly]
public PartialViewResult ContactForm()
{
var model = new ContactViewModel();
return PartialView(model);
}
}
不要继承表单RenderViewPage只是用您自己的模型强烈键入您的视图 然后创建一个调用ChildAction ContactForm的宏 您可以通过编辑器或模板中的代码添加您的操作:@ Umbraco.RenderMacro(“ContactForm”)