我有2个链接
<li class="active">
<a href="<%#CurrentSearchUrl%>"><span>Current search Page
</span></a>
<li><a href="<%#CurrentSearchUrlParam%>"><span>Add param </span>
</a>
在Page_Load 中
CurrentSearchUrl = Request.Url.AbsoluteUri;
CurrentSearchUrlParam = Request.Url+"&discount=1";
添加了param,但url不正确 我目前的网址是
http://localhost:1067/search/default.aspx?q=test
我想添加一个参数,所需的结果应该是
http://localhost:1067/search/default.aspx?q=test&discount=1
提前致谢
答案 0 :(得分:10)
var uriBuilder = new UriBuilder(Request.Url.AbsoluteUri);
var paramValues = HttpUtility.ParseQueryString(uriBuilder.Query);
paramValues.Add("param1", "value1");
paramValues.Add("param2", "value2");
uriBuilder.Query = paramValues.ToString();
Link1.HRef=uriBuilder.Uri;
答案 1 :(得分:4)
小心已有的参数。 这是Victor&#39;的一个小修改。代码:
var uriBuilder = new UriBuilder(Request.Url.AbsoluteUri);
var paramValues = HttpUtility.ParseQueryString(uriBuilder.Query);
if(paramValues.Get("param1")!=null) paramValues.Remove("param1");
paramValues.Add("param1", "value1");
paramValues.Add("param2", "value2");
uriBuilder.Query = paramValues.ToString();
Link1.HRef=uriBuilder.Uri;
答案 2 :(得分:1)
有很多方法可以做到这一点。例如:
您的HTML:
<li class="active">
<a href="" runat="server" ID="Link1"><span>Current search Page
</span></a>
<li><a href="" runat="server" ID="Link2"><span>Add param </span>
</a>
在Page_Load:
中Link1.HRef = HttpContext.Current.Request.Url.ToString();
Link2.HRef = HttpContext.Current.Request.Url.ToString()+"&discount=1";