asp.net-mvc – Url.Action with RouteValueDictionary with Pro
发布时间:2020-12-15 20:51:40 所属栏目:asp.Net 来源:网络整理
导读:一直在看这个一段时间,感觉就像我只是笨蛋想要更多的眼睛. 我需要生成一个完整的URL(例如http://www.domain.com/controller/action?a=1u0026amp;b=2),一般来说,我只需使用 Url.Action 就可以通过指定协议来完成此任务: var url = Url.Action("Action","Con
一直在看这个一段时间,感觉就像我只是笨蛋想要更多的眼睛.
我需要生成一个完整的URL(例如http://www.domain.com/controller/action?a=1u0026amp;b=2),一般来说,我只需使用 var url = Url.Action("Action","Controller",new { a = 1,b = 2 },"http"); 我已经开始组合一个返回RouteValueDictionary的类,以使这些匿名对象消失.但是,我不能让它与帮手一起工作. var x = Url.Action("Action",new RouteValueDictionary(new { a = 1,b = 2 }),"http"); // "http://127.0.0.1/Controller/Action?Count=2&Keys=System.Collections.Generic.Dictionary%602%2BKeyCollection%5BSystem.String%2CSystem.Object%5D&Values=System.Collections.Generic.Dictionary%602%2BValueCollection%5BSystem.String%2CSystem.Object%5D",var y = Url.Action("Action","http"); // "http://127.0.0.1/Controller/Action?a=1&b=2" 任何指向一个facepalm的指针非常感谢:) 更新: 最好澄清一点,在上面的例子中,我需要让’X’变量工作正常,因为RouteValueDictionary是在代码的其他地方创建的.假设RouteValueDictionary是正确的. 我只是不明白为什么这个工作与匿名对象,但是包装在同一个对象中的同一个对象包裹在一个RouteValueDictionary中,使得帮助者变得怪异了. 解决方法
您正在使用的重载期望为您传递RouteValueDictionary的参数键入“object”.由于某种原因,这是导致问题,可能与.ToString()有关?使用一个接受RouteValueDictionary的重载,这应该工作.
要测试这个,添加一个hostName参数来选择如下所示的重载: 编辑 您可以在项目中使用此扩展,将您需要的重载添加到Url.Action.在内部,它将从请求中解析并添加hostName. public static string Action (this UrlHelper helper,string action,string controller,RouteValueDictionary routeValues,string protocol) { string hostName = helper.RequestContext.HttpContext.Request.Url.Host; return helper.Action(action,controller,routeValues,protocol,hostName); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 如何在ASP.NET MVC中禁用客户端和代理缓存?
- asp.net-mvc – ActionFilterAttributes是否跨线程重用?如
- 使用CodeMirror在浏览器中实现编辑器的代码高亮效果
- 用Middleware给ASP.NET Core Web API添加自己的授权验证
- asp.net – 安全地将用户从一个ASP .NET应用程序转移到另一
- asp.net – ELMAH日志的独立查看器应用程序
- asp.net Web Api路由不工作
- 关于二级缓存之间同步问题的思考
- reactjs – TypeError:无法读取undefined的属性’ts’
- asp.net-mvc – 使Kendo Datepicker只读,但也可以选择
推荐文章
站长推荐
- asp.net-mvc – ASP.NET MVC – 在控制器之间共享
- asp.net – 如何在.net 3.5中托管我的MVC3应用程
- 在ASP.NET Identity 2.0.0-beta1中禁用双因素身份
- asp.net-mvc-3 – MVC 3 WebGrid – 可以进行内联
- asp.net-mvc-3 – 如何在MVC3上使用authorize属性
- asp.net-mvc – 我应该在ASP.NET MVC中使用Anti-
- asp.net-mvc – 在MVC中的下拉列表选择上调用特定
- 需要帮助设置ASP.net 3.5(截图)
- asp.net – 如何获取Silverlight XAP复制到客户端
- asp.net – IsPostBack,IsAsync和IsCallback有什
热点阅读