我想创建一个Url.Action链接,重定向到格式为
的页面.../Images/View/imageid
使用RouteConfig。到目前为止,我发现的唯一解决方案是设置像这样的链接
@Url.Action("View/" + image.ID, "Images")
new { imageid = image.ID }
版本会返回一个类似.../Images/Views?imageid=image.ID
的网址,在将所请求的图片插入电子邮件时不起作用(并且在视觉上没有吸引力)。
所以我的问题:是否有一种更加语义正确的方式来返回格式为.../Images/View/imageid
的网址,或者我是否已经使用了最佳方法?
答案 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 )
可以准确提供我正在寻找的输出