Umbraco 7.4.3路由

时间:2018-08-19 18:41:53

标签: c# umbraco umbraco7

我最近使用C#/ MVC构建了一个零售站点。我正在使用Umbraco重写同一零售站点。我有一个productfolder文档类型,并且我有一个带有包含产品的子文件夹的父/子文件夹结构。例如。 产品(根文件夹)    软饮料(父母文件夹)       常规(子文件夹)          胡椒博士(产品)          可乐(产品)       饮食(儿童夹)          ...(产品)

这为我提供了一个不错的URL结构,例如:http://.../products/soft-drinks/regularhttp://.../products/soft-drinks/diet-这些都将在这些子文件夹中列出产品。

一切正常,直到我开始调页。我意识到我可以使用Html.Action助手来设置URL,以便基本上附加?page =并检查视图中的查询字符串以检索要处理的页面。然后,我可以使用Linq根据页码,要显示的产品数量等来拉回项目。

但是,由于我已经有了一个真实的网站,我希望能够将其替换为umbraco网站,并使我的所有SEO链接都能正常工作。由于这一要求,我需要将我的网址设为:http://.../products/soft-drinks/regular/2,其中“ 2”是要显示的页面。

当前,我想出的是创建一个这样的Surface控制器:

public class ProductFolderController : SurfaceController
{
    // GET: ProductFolder
    public ActionResult Paging(int nextPage, int currentPageId)
    {
        ViewBag.Page = nextPage;
        ViewBag.CurrentPageId = currentPageId;

        return PartialView("~/Views/Partials/_Paging.cshtml");
    }
}

然后,我可以使用Razor创建一个分页链接以传递到下一页,在ViewBag中进行设置,然后在重新加载productfolder视图时获取它。但是,这不允许我控制URL。

使用Umbraco 7.4.3和MVC进行此操作的正确方法是什么?

0 个答案:

没有答案