return RedirectToAction(...) 更漂亮 url
return RedirectToAction(...) prettier url
在调用 RedirectToAction
方法时,是否有任何可能的方法来维护 RouteConfig.cs
映射中定义的 link 格式?
ex [仅供测试]:
我有这条路线:
routes.MapRoute(
"Token Verification",
"Registration/TokenVerification/{ConfernceId}/{TokenType}/{TokenId}/{Email}",
new{
controller="Registration",
action="TokenVerification",
ConfernceId= 0,
TokenType='[=12=]',
TokenId="",
Email=""
}
);
如果路由正确,我可以调用此 link 和我的操作:
http://localhost:49619/Registration/TokenVerification/2/R/asdasdasd/someone@somewhere.com
但是如果我调用RedirectToAction
,它会生成下面的url
它也可以工作,但一点也不漂亮!
有什么建议吗?
使用RedirectToRoute
(来自MSDN)生成指定路由格式的url。
return RedirectToRoute("Token Verification", new
{
ConfernceId = 0,
TokenType = "0",
TokenId = "0",
Email = "0"
});
如果要生成链接,请检查以下流程。
使用 Url.RouteUrl
(检查 MSDN 资源)。比如说 -
@Url.RouteUrl("DefaultApi", new { httproute=true, controller="Albums", id=3})
会生成/api/Albums/3
在你的情况下,它应该是 -
@Url.RouteUrl("Token Verification", new
{
controller = "Registration",
action = "TokenVerification",
ConfernceId = 0,
TokenType = "0",
TokenId = "0",
Email = "0"
})
它会生成 - /Registration/TokenVerification/0/0/0/0
在调用 RedirectToAction
方法时,是否有任何可能的方法来维护 RouteConfig.cs
映射中定义的 link 格式?
ex [仅供测试]:
我有这条路线:
routes.MapRoute(
"Token Verification",
"Registration/TokenVerification/{ConfernceId}/{TokenType}/{TokenId}/{Email}",
new{
controller="Registration",
action="TokenVerification",
ConfernceId= 0,
TokenType='[=12=]',
TokenId="",
Email=""
}
);
如果路由正确,我可以调用此 link 和我的操作:
http://localhost:49619/Registration/TokenVerification/2/R/asdasdasd/someone@somewhere.com
但是如果我调用RedirectToAction
,它会生成下面的url
它也可以工作,但一点也不漂亮!
有什么建议吗?
使用RedirectToRoute
(来自MSDN)生成指定路由格式的url。
return RedirectToRoute("Token Verification", new
{
ConfernceId = 0,
TokenType = "0",
TokenId = "0",
Email = "0"
});
如果要生成链接,请检查以下流程。
使用 Url.RouteUrl
(检查 MSDN 资源)。比如说 -
@Url.RouteUrl("DefaultApi", new { httproute=true, controller="Albums", id=3})
会生成/api/Albums/3
在你的情况下,它应该是 -
@Url.RouteUrl("Token Verification", new
{
controller = "Registration",
action = "TokenVerification",
ConfernceId = 0,
TokenType = "0",
TokenId = "0",
Email = "0"
})
它会生成 - /Registration/TokenVerification/0/0/0/0