在mvc3应用程序中使用asp.net路由引擎生成url

在mvc3应用程序中使用asp.net路由引擎生成url,asp.net,asp.net-mvc,asp.net-mvc-3,url-routing,asp.net-mvc-routing,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Url Routing,Asp.net Mvc Routing,默认的url模式是{controller}/{action}/{id} 但是我想要它的类型是{db字段,它是使用id}/{controller}/{action}/{id} 我需要空间来检索数据库字段您可以使用任何您喜欢的模式 _routes.MapRoute("myRoute","view/{db-field}/{controller}/{action}/{id}", new { controller = "home", action = "index"}

默认的url模式是
{controller}/{action}/{id}
但是我想要它的类型是
{db字段,它是使用id}/{controller}/{action}/{id}

我需要空间来检索数据库字段

您可以使用任何您喜欢的模式

_routes.MapRoute("myRoute","view/{db-field}/{controller}/{action}/{id}",
            new { controller = "home", action = "index"}
            );

重要的是要有一个路径段(本例中为“视图”),并在其他路径段之前声明该路径,以便它可以使用该路径,而不是默认路径。我假设db字段类似于文章标题,您希望它用于搜索引擎优化目的。

我希望使用数据库生成url,那么从该id中检索数据的确切位置是哪里?我的链接没有那个主机,我想在有人看到那个页面时生成它。我不明白。你能举个例子吗?好的,看看我是否有{teacher name}/{controller}/{action}/{student id}现在我想在每次获得学生id时自动从数据库中提取教师姓名。我不想在视图侧的url操作链接中添加额外的教师姓名参数。每次路由引擎遇到student id参数时,它都应该运行一个函数,返回给他教师名称。谢谢Mikei如果我理解正确,您的问题与路由无关。您可以使用student id参数从控制器中的数据库中获取教师姓名,然后通过viewmodel将其传递给视图,就这样。url中的教师姓名应仅用于SEO或使教师高兴。路由引擎只识别控制器、动作和各种动作参数。在这种情况下,参数应该是学生id