我正在寻找一种将问号后的URL中的变量转换为带有斜杠的简单符号的方法。
例如:我想使输入此链接成为可能:
http://localhost:50830/Controller/View?Name=Test
以这种形式进入浏览器
http://localhost:50830/Controller/View/Test
然后,控制器应将“测试”识别为Name变量。因此,基本上两个链接应该给出相同的结果。
这可能吗?
您需要为此定义一条路线。
例如:
routes.MapRoute(
"Test", // Route name
"{controller}/{action}/{name}", // URL with parameters
new { controller = "Controller", action = "View", Name = "" } // Parameter defaults
);
注意Name
参数。默认情况下,会设置MVC路由以查找Id
参数。
相应的动作:
public ActionResult View(string name)
{
...
}
而且,如果您使用的是MVC 5,则还可以使用Attributes定义路由:
[RoutePrefix("Home")]
public class HomeController : Controller
{
[Route("view/{name}")]
public ActionResult View(string name) { ... }
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句