我有一个来自MySQL表的以下示例数据。
我的问题是在我的MVC 4项目中,如何使路由工作,以便如果用户转到URL www.mydomain.com/products/apples/,我希望该呼叫实际上是www.mydomain.com/的视图products / index / 1,如何实现?
最佳答案
您可以创建此一条路线:
routes.MapRoute("Product", "products/{productName}",
new {controller = "products", action="index"});
这条路线说:
当请求传入的URL与以下模式匹配:“ products / {productName}”(例如http://www.example.com/products/apple)时,请将其传递给“ ProductsController”中的“ index”操作,以处理并传递指示的URL段由{productName}占位符,作为名为“ productName”的参数进入该操作。
那么您的操作将是:
[HttpGet]
public ActionResult Index(string productName) {
// Lookup product from DB
// do stuff
var viewModel = ...;
return View(viewModel);
}
因此,当请求产品/苹果时,“苹果”将作为productName参数传递到Index操作中。
关于c# - MV4路由来自MySQL数据库的动态路由,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18336372/