Asp.net mvc 3 用ASP.NETMVC创建句子
我非常痴迷于语义,我想通过ASP.NETMVC的路由规则创建有意义的句子,这些规则从语义上描述动作。例如,我想将一篇文章分配给某些类别,为此,我希望有以下URL: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}/
/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