【问题标题】:use RenderMvcController to filter a list in Umbraco使用 RenderMvcController 过滤 Umbraco 中的列表
【发布时间】:2017-04-25 12:50:41
【问题描述】:

我的目标是创建一个内容列表(特定 docType)。在这个列表中,我有一个过滤器按钮和两个动态填充子数据的 ddlist。当用户单击“过滤器”时,列表应由选定的 ddlist 值更新。 是否可以为此使用 RenderMVCController ?我无法使用 surfaceController,因为在呈现页面之前我无法访问 Index 操作。 当用户提交表单而不是刷新所有页面时,是否可以使用 Ajax?

查看

using (Html.BeginUmbracoForm("FilterPage", "inTheFieldController", FormMethod.Post, htmlAttributes: new { @id = "PageInTheField" }))
{
//....
}

控制器

public class inTheFieldController : RenderMvcController
{

    private readonly UmbracoContext umbracoContext;

    public inTheFieldController()
    {
        umbracoContext = UmbracoContext.Current;
    }


    // GET: inTheField
    public ActionResult Index()//RenderModel model)
    {
}

我想要这样的东西:

  [HttpPost]
  public ActionResult FilterPage(inTheFieldModel model)
  {
    return null
     }

但它从来没有达到这一点,它要求surfaceController

【问题讨论】:

    标签: ajax filter umbraco7 asp.net-mvc-controller surface-controller


    【解决方案1】:

    是的,如果您使用 BeginUmbracoForm,它总是需要一个 SurfaceController。理想情况下,您应该将 SurfaceController 用于表单。我不清楚您在这里要做什么,但您可以使用 @Ajax.BeginForm 并将其与 SurfaceController 操作结合起来

    【讨论】:

    • 如果我使用 SurfaceControllers ,我该如何填写 ddlist ?在呈现页面之前我需要有索引。表面控制器可以吗?
    • 使用列表创建视图模型并从索引操作返回该视图模型
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-28
    • 1970-01-01
    相关资源
    最近更新 更多