我在我当前的项目中面临一个问题,我想为我的页面显示自定义URl。我尝试了很多技术,但都没有满足我的要求。 我想URL是这样的:WordPress的博客类型MVC(自定义URL路由)中的固定链接
http://www.anyDomain.com/What-Is-Your-Name
目前,我能够设置URL是这样的:
http://www.anyDomain.com/What-Is-Your-Name?Id=1
我想从URL忽略查询字符串。这样Controller可以识别请求&做出相应的响应。
这里,Id
用于从数据库获取详细信息。如何将参数值从View
传递到Controller
,以便它可以在不添加URL的情况下识别请求?
我的控制器
[Route("~/{CategoryName}")]
public ActionResult PropertyDetails(int Id)
{
}
RouteConfig
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}",
defaults:
new
{
controller = "Home",
action = "Index",
}
);
我查看
<a href="@Url.Action("PropertyDetails", "Home", new {@Id=item.ID,@CategoryName = Item.Title })">
我刚刚注意到,我要像URL StackOverflow的使用
http://stackoverflow.com/questions/43774917/wordpress-blog-type-permalink-in-mvccustom-url-routing
我认为这肯定URL解决您的问题,请试试这个标题:http://www.jerriepelser.com/blog/generate-seo-friendly-urls-aspnet-mvc/ – stylishCoder
请参阅[多层次的MVC自定义路由](https://stackoverflow.com/a/31958586/181087)。 – NightOwl888