ASP.Net MVC - 创建自定义路由?
问题描述:
我正在尝试创建自定义路由。这是我尝试过的,但不起作用,我做错了什么?ASP.Net MVC - 创建自定义路由?
预期的调用:
MyWebsite/Friend/Respond/55/4
routes.MapRoute(
name : "Friend",
url : "Friend/Respond/{id}/{state}"
);
// This method is in a Controller Named FriendController
[HttpPost]
public ActionResult Respond(int id, int state)
{
// Do stuff
}
答:
routes.MapRoute(
name : "ExtraParameter",
url : "{controller}/{action}/{id}/{state}",
defaults : new { }
);
答
您可以发布一个例子ActionLink的触发的路线?
有你建立你的路线默认值:
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional });
特别是在图路线的第三个参数。您可能需要将您的ID和状态参数设置为UrlParameter.Optional
答
您可以设置ID和状态UrlParameter.Optional。
routes.MapRoute(
"Default",
"{controller}/{action}/{id}/{state}",
new { controller = "yourcontrollername", action = "youraction", id = UrlParameter.Optional, state = UrlParameter.Optional
});
是的,我有默认的路由,这里是预期的链接:MyWebsite /朋友/响应/ 55/4。在没有ActionLink的我从iOS客户端 – aryaxt 2013-04-27 17:26:54
调用这个服务你有没有设置为默认的朋友路线虽然?像这样...'routes.MapRoute( “Friend”, “Friend/Respond/{id}/{state}”, new {controller =“Friend”,action =“Respond”,id = UrlParameter.Optional ,State = UrlParameter.Optional});' – wellers 2013-04-27 17:32:55
不需要设置参数为可选项,但设置“controller,and”action“was。解决了这个问题,谢谢,我希望根据它可以检测到的url,但它不会't – aryaxt 2013-04-27 17:34:19