【问题标题】:Umbraco 5 surface controller and partial macroUmbraco 5 表面控制器和部分宏
【发布时间】:2012-05-11 01:51:30
【问题描述】:

我正在玩 Umbraco 5(完全新手),目前正在尝试使用表面控制器和宏。

我已经创建了一个基本的表面控制器:

public class TestSurfaceController : SurfaceController
{
    //
    // GET: /TestSurface/

    [ChildActionOnly]
    public ActionResult GetTest()
    {
        List<Test> test = new List<Test>();
        test.Add(new Test { TestTitle = "Test" });

        return View(test);
    }

}

还有一个部分宏:

@inherits PartialViewMacroPage
@using Umbraco.Cms.Web
@using Umbraco.Cms.Web.Macros
@using Umbraco.Framework

@model IEnumerable<Umbraco.Models.Test>

<ul>
  @foreach (var test in Model)
  {
    <li>@test.TestTitle</li>
  }
</ul>

在我的主页模板上,我称之为:

@inherits RenderViewPage
@using System.Web.Mvc.Html;
@using Umbraco.Cms.Web;
@{
Layout = "_Layout.cshtml";
 }

@section head
{
@Umbraco.RenderMacro("getTest")
}

如何让它只在 ul 中显示测试?如果使用模型,我会收到一条错误消息,说我不能使用继承,然后如果我取消继承,我会收到一条消息,指出提供的模型与预期不符。

【问题讨论】:

    标签: razor umbraco umbraco5


    【解决方案1】:

    @inherits 渲染视图页面 从您的部分页面中删除此行,如果您愿意,我可以发布一个工作表面控制器操作和部分视图的示例。 希望有帮助。 工作示例如下,

    public class MDSSurfaceController : SurfaceController
    {        
        public MDSSurfaceController(IRoutableRequestContext routableRequestContext)
            : base(routableRequestContext)
        {
        }
        [ChildActionOnly]
        public PartialViewResult ApartmentListMacro(string apartmentType, string Name, string PropertyRfDicItem, string RatesperNightDict, string SleepsDict, string BedroomsDict, string BathroomsDict, string ViewDict)
        {
            ApartmentListModel apM = new ApartmentListModel();
            //initialize model           
            return PartialView(apM);
        }
    

    那我的局部视图是

    @using Umbraco.Cms.Packages.SystemInfo.Models
    @model Umbraco.Cms.Packages.SystemInfo.Models.ApartmentListModel
    @{
    //Html Code
    }
    

    【讨论】:

    • 如果我把它拿走,我会收到一条错误消息,指出视图需要一个模型,但得到了不同的东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-30
    相关资源
    最近更新 更多