我想让我的网址看起来像这个www.website.com/browse/computers/consoles/playstation-3/en-NZ.aspx.它开始的部分-浏览,我想是我的控制器-计算机/控制台/playstation-3是我的行动,- en-NZ.aspx是我想要命名的页面。我的三个问题是,在有多个部门的情况下,如何设置动作部分? CultureInfo是/\{2, [a-z]}\-\{2, [A-Z]}的en-NZ的正则表达式是什么?我也需要这个表达式来表示土耳其的两个小写字母。g tr wich是唯一有两个字母的语言代码。以及如何在{浏览}/{*multipleDepartments}/ part之后访问url中的分区部门。
void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
"browse", //Name of the Route (can be anyuthting)
"{*departments}/regexp goes here.aspx", // parameters not to sure about the*
"~/Departments.aspx"); //Page which will handles and process the request
}还请检查我的评论,我还创建了一个CTE表达式,它为我创建了一个链接,如上面的例子/computers/控制台/playstation-3如果我必须将其放入参数中,如何在参数url中处理,我的意思是在同一个查询(如Departments.aspx?a=computersb=consoles&c=playstation-3. )上,参数将是多个我不知道查询有多深,所以如果在本例中处理参数,我该怎么办。
发布于 2011-04-13 10:05:20
我认为你这样做是错误的.文化信息不应该是页面名,它应该是url的一部分。您通常不会为不同的语言创建单独的页面,而是使用资源来本地化页面。
对于URL路由,通常一个路由的组成遵循{controller}/{action}/{id}模式。
因此,您要路由的URL看起来类似于以下内容:
www.website.com/en-NZ/consoles/list/playstation-3要获得进一步的参考,请参阅以下好的教程:
https://stackoverflow.com/questions/5644540
复制相似问题