使用ASP.NET MVC创建句子

时间:2011-07-09 18:22:36

标签: asp.net-mvc-3 asp.net-mvc-routing semantics

我非常痴迷于语义,我想通过ASP.NET MVC的路由规则创建有意义的句子,这些规则在语义上描述了这个动作。例如,我想将文章分配给某些类别,为此,我想要这些网址:

/assign/article-name/to-categories

应该有这个规则:

assign/{articleName}/to-categories

/assign/article-name/to/category-title/category

应该有这个规则:

assign/{articleName}/to/{categoryTitle}/category

所需网址的一些示例如下:

assign/seo/to/computer/category,或assign/how-to-drive-fast/to/general-knowledge/category,或类似的网址。

问题在于,我在MVC路由方面不专业,我无法完成这项工作。请帮忙!

1 个答案:

答案 0 :(得分:3)

以下路线定义应该有效:

routes.MapRoute(
    "Assign",
    "assign/{articleName}/to/{categoryTitle}/category",
    new { controller = "Articles", action = "Assign" }
);

你将拥有ArticlesController

public class ArticlesController : Controller
{
    public ActionResult Assign(string articleName, string categoryTitle)
    {
        // TODO: handle the assigning
        return Content(string.Format("{0} {1}", articleName, categoryTitle), "text/html");
    }
}

现在,例如,以下请求assign/seo/to/computer/category将路由到Assign行动,该行动将通过articleName = seocategoryTitle = computer