asp.net-mvc – 从Api控制器内生成绝对的url to action
发布时间:2020-12-30 22:17:14 所属栏目: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-mvc-4 – 表单身份验证:角色(MVC 4)C#
- asp.net-mvc – 针对SAAS的多租户客户端特定定制
- asp.net-mvc – ASP.NET MVC – Partial View可以有一个控制
- ASP.NET:从C#代码隐藏显示警报
- asp.net-mvc – Nhibernate / MVC:在View中处理延迟加载的
- asp.net – 为什么当试图保存更改时,GridView行“null”的D
- asp.net使用AJAX实现无刷新分页
- 在asp.net c#应用程序中使用Graphviz Dll
- 你如何在ASP.NET中配置httpOnlyCookies?
- asp.net-mvc – 帖子上的Mvc模型ID 0
推荐文章
站长推荐
- asp.net – MS Chart for .NET预定义调色板颜色列
- asp.net – 错误:数据绑定方法(如Eval(),XPath(
- asp.net-mvc – ASP.net MVC:在RenderAction中获
- asp.net – 使用app_offline.htm使应用程序脱机,
- [转]谈谈技术原则,技术学习方法,代码阅读及其它
- asp.net后台cs中的JSON格式变量在前台Js中调用方
- ASP.NET设计网络硬盘之删除文件夹实现代码
- asp.net确保javascript只加载一次
- asp.net-mvc-4 – AngularJs,DropZone.Js,MVC4 –
- asp.net-mvc – ASP.NET MVC会话超时,绝对还是滑
热点阅读
