asp.net-mvc – 从Api控制器内生成绝对的url to action
发布时间:2020-12-30 22:15:29 所属栏目:asp.Net 来源:互联网
导读:我使用asp.net mvc4和我在“controller1”这个动作: [HttpGet] public async Taskstring Action1() { try { HttpClient cl = new HttpClient(); string uri = controller2/a
我使用asp.net mvc4和我在“controller1”这个动作: [HttpGet] public async Task<string> Action1() { try { HttpClient cl = new HttpClient(); string uri = "controller2/action2"; HttpResponseMessage response = await cl.GetAsync(uri); response.EnsureSuccessStatusCode(); return response.ToString(); } catch { return null; } } 当我将uri设置为“http:// localhost:1733 / controller2 / action2”时,动作正常,但是不要将uri设置为“controller2 / action2”或“/ controller2 / action2”或“/ controller2 / action2”. 如何在没有硬编码uri的情况下写这个动作? 谢谢. 解决方法使用:string uri = Url.Action("Action2","Controller2",new {},Request.Url.Scheme); 更新: 由于您使用API控制器并需要为常规控制器生成Url,所以您必须使用: string uri = this.Url.Link("Default",new { controller = "Controller2",action = "Action2" }); 其中Default是在注册路由集合中定义的路由的名称,或者如果您已经为此操作创建了特定路由,请使用其名称和新{}作为第二参数. 对于MVC版本4,请在/ App_Start / RoutesConfig.cs检查您注册的路由.对于MVC版本3,请在您的Global.asax中检查您的RegisterRoutes方法. (编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 启用Application Insights会使Web应用程序挂起
- asp.net-mvc-3 – mvc3在另一个内部嵌入了局部视图
- ASP.NET和System.Diagnostics跟踪 – 我错过了什么,或者这是
- asp.net-mvc – 在Controller操作方法中重用代码的最佳方法
- .net – ReportViewer 2010无法评估表达式
- Asp.net超链接控件相当于
- asp.net-mvc – 已经使用相同的参数类型定义了一个名为“Cr
- asp.net – web部署工具2.1和web部署3.5有什么区别?哪一个
- asp.net – coldfusion和.net上的单点登录
- asp.net – 如何在页面加载时以“添加新”模式进行编程设置
推荐文章
站长推荐
- asp.net 文件上传实例汇总
- asp.net-mvc – 为什么HttpContext.Current在asp
- asp.net – 在VS Code中指定localhost端口的位置
- ASP.NET JSON字符串与实体类的互转换示例代码
- 61条面向对象设计的经验原则 转载
- asp.net – OutOfMemoryException当发送大文件50
- asp.net-mvc – 在ASP.NET MVC 2中模板化Html.Di
- asp.net – 如何在南希显示我的404页面?
- 来自ASP.NET MVC站点的“无效的JSON原语:alihac
- asp.net – 我应该在.gitingore文件中包含.vs文件
热点阅读