我有一个似乎让我发疯的问题。如何将部分视图从另一个主页拉到我的主页(与视图无关等)并且在另一个文件夹中?我只想参考:
@Html.ThemedPartial(Model, "Latest")
(来自Umbraco的Articulate博客)。但是,我不知道如何做到这一点,因为我不知道使用指令包含什么等等?
有一种简单的方法吗?
我收到以下错误:
编译器错误消息:CS1061:' System.Web.Mvc.HtmlHelper>'不包含' ThemedPartial'的定义没有扩展方法' ThemedPartial'接受类型' System.Web.Mvc.HtmlHelper>'的第一个参数。可以找到(你错过了使用指令或程序集引用吗?)
引用@Html.ThemedPartial(Model, "Latest")
我也试过@Html.Partial("~/App_Plugins/Articulate/Themes/MyTheme/Views/Partials/Latest.cshtml", Model)
而不是@Html.ThemedPartial(Model, "Latest")
而没有运气。我得到以下内容:
Umbraco.Web.Mvc.ModelBindingException:无法将源内容类型Umbraco.Web.PublishedContentModels.Index绑定到模型类型Articulate.Models.IMasterModel。
答案 0 :(得分:1)
当您查看Articulate sourcecode时,您会看到ThemedPartial只是一种执行以下操作的扩展方法:
var path = PathHelper.GetThemePartialViewPath(model, partialName);
return html.Partial(path, viewModel, viewData);
GetThemePartialViewPath返回视图的相对路径
如果正确设置了Latest.cshtml的@model声明
,则以下内容应该有效 @Html.Partial("~/App_Plugins/Articulate/Themes/MyTheme/Views/Partials/Latest.cshtml", Model)