0

我在 umbraco 7 中有一个类似http://localhost:55617/knowledge-house/magazines/的页面。现在我想在 url 中存在参数时应用路由,比如http://localhost:55617/knowledge-house /杂志/英语/2012/。其中“English”和“2012”是参数。

所以,在 RouteConfig.cs 我写了以下内容。

routes.MapRoute(
            name: "/knowledge-house/magazines/",
            url: "/umbraco/Surface/{controller}/{action}/{langid}/{year}/",
            defaults: new { controller = "Kids", action = "Magazine", langid = UrlParameter.Optional, year = UrlParameter.Optional }
        );

我有 Kids Surface 控制器,其中有如下代码。

public ActionResult Magazine(int langid = 0, string year = "")
    {
        return View("Magazine");
    }

但是对于 url http://localhost:55617/knowledge-house/magazines/English/2012/ 它给出了错误:HTTP Error 404.11 - Not Found

4

1 回答 1

0

其实我查错了。因为,网址不是很好的网址。所以我必须使用http://localhost:55617/knowledge-house/magazines?langid=English&year=2012 之类的 url 进行测试。现在正在正确路由。

于 2017-02-11T05:01:26.190 回答