我建立的路线就像访问时返回特定的博客条目一样 看起来像这样
www.mywebsite.com/100
但是我希望在返回页面时我还要将博客标题添加到URL中 对于例如用户可以输入上面的网址,但当他收到网页时,网址必须如下所示:
www.mywebsite.com/100/My-Blog-Title
就像它在Stakoverflow上发生的那样: 我输入此网址
http://stackoverflow.com/questions/11227809/
收到请求后,URL如下所示:
http://stackoverflow.com/questions/11227809/why-is-processing-a-sorted-array-faster-than-an-unsorted-array
如何在我的MVC项目中实现这一目标?任何人都可以帮忙。
请同时评论SEO
友好性,同时建议您采用优先方法。
三江源
答案 0 :(得分:0)
这似乎是一个简单的重定向。见http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.redirecttoaction(v=vs.108).aspx
答案 1 :(得分:0)
答案 2 :(得分:0)
如果您打开Chrome开发者工具中的“网络”标签,并将地址(仅限ID)加载到此问题(http://stackoverflow.com/questions/21005768/
),您会看到您收到HTTP 301
回复 - 永久重定向到友好网址(http://stackoverflow.com/questions/21005768/add-string-to-the-requested-url/
)。
要在ASP.NET MVC中对此做出响应,您可以执行以下操作:
public ActionResult GetThingy(int id)
{
var title = GetTitle(id);
return RedirectPermanent(Url.Action("GetThingy", new { id = id, title = title} );
}
将重定向到控制器上的另一个操作,如:
public ActionResult GetThingy(int id, string title)
{
//do your thing here
}