asp.net – 是否有支持请求参数连接的URL构建器?
发布时间:2020-05-31 00:52:09 所属栏目: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/s
|
我希望实现以下内容: 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 – 身份使用Web API授权属性角色
- 在对ASP.NET MVC Action的AJAX请求期间有网络请求超时时会发
- asp.net-mvc – ASP.net MVC返回文件和重定向
- ASP.NET – 黑客死亡的黄色屏幕
- ELMAH在ASP.NET vNext?
- asp.net-mvc-3 – MVC脚手架问题
- asp.net-mvc – ACS安装,但MVC 4.0应用程序仍然重定向,无法
- 如何在asp.net用户控件中使用jQuery ajax?
- asp.net-web-api – 仅在第一个Web请求(WebAPI 2,OWIN 3,Ni
- asp.net-mvc – ASP.NET MVC;使用EditorTemplates编辑集合,
推荐文章
站长推荐
- entity-framework – 数据读取器与指定的模型不兼
- asp.net-mvc – 在asp.net mvc中启动一组未选中的
- asp.net-mvc – 如何在asp.net mvc 3中使用@html
- 将ASP.NET身份与核心域模型分离 – 洋葱架构
- vbscript – 在赋值中使用Set时“需要对象”
- asp.net-mvc – 在ControllerInstanceFilterProv
- asp.net-mvc – 如何在ASP.Net MVC中对自定义Act
- asp.net – MVC 3,(razor)加载部分与验证
- asp.net – 有一个ClientScriptManager.Register
- asp.net – 403从WindowsAzure.Storage生产错误
热点阅读
