asp.net – 是否有支持请求参数连接的URL构建器?
发布时间:2020-12-16 04:35:02 所属栏目:asp.Net 来源:网络整理
导读:我希望实现以下内容: UrlBuilder ub = new UrlBuilder("http://www.google.com/search");ub.Parameters.Add("q","request");ub.Parameters.Add("sourceid","ie8");string uri = ub.ToString(); //http://www.google.com/search?q=requestsourceid=ie8 .NET
我希望实现以下内容:
UrlBuilder ub = new UrlBuilder("http://www.google.com/search"); ub.Parameters.Add("q","request"); ub.Parameters.Add("sourceid","ie8"); string uri = ub.ToString(); //http://www.google.com/search?q=request&sourceid=ie8 .NET中有什么东西,或者我必须创建自己的东西吗? 解决方法
我所知道的并不存在.这里有一些简单的东西可以满足您的需求.用法是:
UrlBuilder ub = new UrlBuilder("www.google.com/search") .AddQuery("q","request") .AddQuery("sourceid","ie8"); string url=ub.ToString(); == 代码是: public class UrlBuilder { private string _authority; private string _host; private int? _port; private Dictionary<string,object> _query = new Dictionary<string,object>(); public UrlBuilder(string host) : this("http",host,null) { } public UrlBuilder(string authority,string host) : this(authority,null) { } public UrlBuilder(string authority,string host,int? port) { this._authority = authority; this._host = host; this._port = port; } public UrlBuilder AddQuery(string key,object value) { this._query.Add(key,value); return this; } public override string ToString() { string url = _authority + "://" + _host; if (_port.HasValue) { url += ":" + _port.ToString(); } return AppendQuery(url); } private string AppendQuery(string url) { if (_query.Count == 0) { return url; } url += "?"; bool isNotFirst = false; foreach (var key in this._query.Keys) { if (isNotFirst) { url += "&"; } url += HttpUtility.UrlEncode(key) + "=" + HttpUtility.UrlEncode(this._query[key].ToString()); isNotFirst = true; } return url; } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 更改单个URL查询字符串值
- asp.net – 处理可变数量的表单字段
- asp.net-mvc – Ninject和连接字符串
- asp.net-mvc – 如何覆盖Orchard CMS中导航区域的渲染?
- ASP.NET / C#:DropDownList SelectedIndexChanged事件未触
- ASP.NET核心角度SPA模板将自定义引导主题添加到webpack.con
- asp.net – System.Web.UI.ViewStateException,无效的views
- asp.net – Grid.SelectedRow.Cells.Item(1).Text.ToString
- asp.net-mvc – 从部分视图添加html头标记的脚本引用
- asp.net – PostBackUrl没有将Page.IsCrossPagePostBack设置
推荐文章
站长推荐
- asp.net-mvc-4 – 在MVC4中捕获404错误
- asp.net-mvc – ASP.NET MVC – 复杂模型验证
- asp.net-mvc-3 – ASP MVC 3测试控制器调用Model
- asp.net-mvc-3 – 在Asp.net MVC中为optgroup功能
- asp.net – 作为Windows服务托管的c#WCF Restful
- 如何在ASP.Net Repeater中创建一个三列表
- asp.net-mvc-2 – 使用视图将MVC 2升级到MVC 3问
- asp.net – ASP反请求伪造,为什么黑客不会先获取
- asp.net-mvc-4 – 使用剃刀循环模型
- asp.net-mvc – MongoDB,C#,QueryFailure标志不是
热点阅读