相关疑难解决方法(0)

参数中包含斜杠的网址?

题:

我正在创建一个wiki软件,基本上是维基百科/ mediawiki的克隆,但是在ASP.NET MVC中(MVC是重点,所以不建议我使用ScrewTurn).

现在我有一个问题:

我使用此路由映射来路由URL,如:http:
//en.wikipedia.org/wiki/ASP.NET

        routes.MapRoute(
            "Wiki", // Routenname
            //"{controller}/{action}/{id}", // URL mit Parametern
            "wiki/{id}", // URL mit Parametern
            new { controller = "Wiki", action = "dbLookup", id = UrlParameter.Optional } // Parameterstandardwerte
        );
Run Code Online (Sandbox Code Playgroud)

现在它刚刚发生在我身上,可能会出现像'AS/400'这样的标题:http:
//en.wikipedia.org/wiki/AS/400

在整体上,还有这个(标题'Slash'):http:
//en.wikipedia.org/wiki//

这一个:http:
//en.wikipedia.org/wiki//dev/null

总的来说,维基百科似乎有一个有趣的标题列表,如:http://en.wikipedia.org/wiki/Wikipedia : Articles_with_slashes_in_title

如何正确制作此路线的路线?

编辑:
类似于:
如果URL以/ Wiki /开头,如果它不以/ wiki/Edit /(但不是/ Wiki/Edit)开头,则将所有其余URL作为Id传递.

编辑:
嗯,只是另一个问题:我如何路由这个:http:
//en.wikipedia.org/wiki/C&A

维基百科可以......

编辑:
根据维基百科,由于与wikitext语法的冲突,在页面标题中永远不能使用以下字符(DISPLAYTITLE也不支持):

# < > [ ] | { …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc asp.net-mvc-routing

63
推荐指数
3
解决办法
4万
查看次数

标签 统计

asp.net-mvc ×1

asp.net-mvc-routing ×1