Url.Action路线配置样式路径

时间:2015-08-20 17:20:29

标签: asp.net-mvc

我想创建一个Url.Action链接,重定向到格式为

的页面
.../Images/View/imageid

使用RouteConfig。到目前为止,我发现的唯一解决方案是设置像这样的链接

@Url.Action("View/" + image.ID, "Images")

new { imageid = image.ID }版本会返回一个类似.../Images/Views?imageid=image.ID的网址,在将所请求的图片插入电子邮件时不起作用(并且在视觉上没有吸引力)。

所以我的问题:是否有一种更加语义正确的方式来返回格式为.../Images/View/imageid的网址,或者我是否已经使用了最佳方法?

2 个答案:

答案 0 :(得分:1)

执行以下操作,假设Images是您的控制器,视图就是您的行动。

 @Url.Action("Views", "Images", new RouteValueDictionary() {{"imageid", image.ID}})

并在您的routeconfig.cs中将下面的内容作为您的第一条路线

 routes.MapRoute(
             name: null,
             url: "{controller}/{action}/{imageid}",
             defaults: new { Controller = "Images", action = "Views" }

           );

我没有测试过这个但它应该是这样的东西

答案 1 :(得分:0)

使用@Url.RouteURl( string routename, object routevalues )可以准确提供我正在寻找的输出