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中XML如何做增删改查操作
- asp.net-mvc – 使用Razor视图引擎 – 如何格式化十进制值以
- 利用ASP.NET MVC和Bootstrap快速搭建个人博客之后台dataTab
- 我应该在ASP.NET MVC中构建我的下一个Web应用程序吗?
- 如何通过接口获取登录的用户名以在asp.net core mvc中按列插
- asp.net中让Repeater和GridView支持DataPager分页
- 如何在ASP.NET MVC中配置3个级别的URL?
- asp.net – 为什么HttpContext.Current.User.Identity.Name
- asp.net-mvc – ASP.NET MVC如何实现返回上一页的链接?
- asp.net – 如何使用javascript生成假回发?
- asp.net-mvc – 用于测试目的的假开放ID提供程序
- ASP.Net MVC cookies – 防篡改?
- asp.net-mvc-3 – Azure网站上的RavenDb – 访问
- asp.net-mvc – 所有请求获取HTTP错误401.2 – 未
- ASP.NET中的应用程序生存期
- 在ASP.net中使用NVP API时,PayPal SetExpressChe
- asp.net-mvc-3 – ASP.Net MVC 3:在哪里处理会话
- asp.net-web-api – Web API / MVC 6中的安全JSO
- asp.net – 访问.NET中的Web服务中的查询字符串(
- asp.net-mvc-3 – RedirectResult Object作为URL