asp.net-mvc-routing – 在MVC 6控制器中使用urlhelper生成链接(vNext)
我正在尝试学习新的MVC 6.我之前从未使用过Microsoft MVC框架.
this.Url.Action("Get",new {id = id}); 我得到一个带URL的查询字符串.我想要一个更安静的URL. 我想在使用属性路由时,我不必映射特定的路由,就像我在WebApi的旧教程中看到的那样. 我必须映射路线吗? 解决方法您可以在控制器中为路由属性添加名称,然后使用扩展方法IUrlHelper.RouteUrl生成URL.例如,给定以下web api控制器: [Route("api/[controller]")] public class UsersController : Controller { // GET: api/users [HttpGet] public IEnumerable<string> Get() { return new string[] { "value1","value2" }; } // GET api/users/5 [HttpGet("{id}",Name ="UsersGet")] public string Get(int id) { return "value"; } //additional methods... } 您可以使用@ Url.RouteUrl(“UsersGet”,new {id = 123})为特定的id by id动作生成url api / users / 123. 使用Url.Action扩展方法时的问题是,如果你有一个像上面例子中的控制器,有2个名为“Get”的动作,这将使用没有参数的动作的路由并生成/ api / Users?id = 123 .但是,如果您对该方法发表评论,您会看到@ Url.Action(“获取”,“用户”,新{id = 123})也为您提供了预期的网址. (编辑:岳阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 在部署MVC 2 Web应用程序时要绝对检查的事项
- asp.net-mvc-3 – 局部视图中的RenderSection
- asp.net – 如何以编程方式从LDAP检索信息
- .net – IIS 6.0和ASPX中的404自定义错误不起作用
- asp.net 删除项目文件/文件夹IIS重启,Session丢失问题
- asp.net – VS插件:查看标记.存在这样的事情吗?
- 我可以使用ASP.NET成员身份实体框架吗?
- Asp.NET 生成静态页面并分页的代码
- asp.net-mvc – ASP.NET MVC 3 Beta 1 Block访问Razor视图
- asp.net – 我想列出我的下拉列表中的所有国家/地区,我在哪
- asp.net-mvc-3 – 在同一父视图上多次使用一个部
- asp.net-mvc – ASP.NET MVC如何在生产中禁用调试
- iCalendar格式中关于RRule的解析和生成
- asp.net-mvc – 为什么MVC4捆绑捆绑Knockout.js?
- asp.net-mvc – ASP.NET MVC控制器的[Authorize]
- asp.net – Windows应用程序与Web应用程序开发
- 过滤ASP.NET Core API中的属性
- asp.net-mvc – 未在ELMAH中记录的错误
- 使用ASP.Net MVC与经典ADO.Net
- asp.net-mvc-3 – 如何关闭我的整个ASP.NET MVC