【问题标题】:Umbraco 5 - passing data from controller to viewUmbraco 5 - 将数据从控制器传递到视图
【发布时间】:2012-02-14 14:23:48
【问题描述】:
我已经玩了几天 Umbraco 5。我用一些插入到页面模板中的虚拟文本制作了部分视图。工作正常。问题是当我必须将数据从控制器传递到视图时。
视图继承自 RenderViewPage (@inherits RenderViewPage) 作为 Umbraco 5 中的默认设置。我尝试通过 @model ViewPage<Umbraco.Cms.Web.UI.Models.Test> 以常规 MVC 方式执行此操作,但出现错误。
【问题讨论】:
标签:
model-view-controller
umbraco
【解决方案1】:
您应该首先创建一个 Surface 控制器(可以在单独的项目中完成或直接在主项目中创建控制器文件夹):
public class ContactFormSurfaceController : SurfaceController
{
[ChildActionOnly]
public PartialViewResult ContactForm()
{
var model = new ContactViewModel();
return PartialView(model);
}
}
不要继承表单 RenderViewPage 只是用你自己的模型强烈键入你的视图
然后创建一个调用 ChildAction ContactForm 的宏
您可以通过编辑器或模板中的代码添加您的操作:@Umbraco.RenderMacro("ContactForm")