Asp.net mvc 3 用ASP.NETMVC创建句子

Asp.net mvc 3 用ASP.NETMVC创建句子,asp.net-mvc-3,asp.net-mvc-routing,semantics,Asp.net Mvc 3,Asp.net Mvc Routing,Semantics,我非常痴迷于语义,我想通过ASP.NETMVC的路由规则创建有意义的句子,这些规则从语义上描述动作。例如,我想将一篇文章分配给某些类别,为此,我希望有以下URL: /assign/article name/to categories 其中应包含以下规则: 将/{articleName}/分配给类别 及 /assign/article name/to/category title/category 其中应包含以下规则: assign/{articleName}/to/{categoryttle}/

我非常痴迷于语义,我想通过ASP.NETMVC的路由规则创建有意义的句子,这些规则从语义上描述动作。例如,我想将一篇文章分配给某些类别,为此,我希望有以下URL:

/assign/article name/to categories

其中应包含以下规则:

将/{articleName}/分配给类别

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

其中应包含以下规则:

assign/{articleName}/to/{categoryttle}/category

所需URL的一些示例如下:

assign/seo/to/computer/category
,或
assign/how-to-fast/to/general-knowledge/category
,或类似的URL


问题是,我在MVC路由方面不专业,我无法做到这一点。请帮忙

以下路线定义应适用:

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=seo
categoryttle=computer
以下路由定义应起作用:

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=seo
categoryttle=computer