62,268
社区成员
发帖
与我相关
我的任务
分享
public partial class Default2 : System.Web.UI.Page
{
public string condition = "";
protected void Page_Load(object sender, EventArgs e)
{
foreach (string key in Request.QueryString.Keys)
{
condition = condition + (key + "=" + Request.QueryString[key] + "&");
}
}
}
<div>
价格 <a href="Default2.aspx?<%:condition %>price=1-100">低于100</a>
<a href="Default2.aspx?<%:condition %>price=100-200">100-200</a>
<br />
规模 <a href="Default2.aspx?<%:condition %>scope=large">规模较大</a>
<a href="Default2.aspx?<%:condition %>scope=large">规模中等</a>
<br />
新旧 <a href="Default2.aspx?<%:condition %>xinjiu=quanxin">全新</a>
<a href="Default2.aspx?<%:condition %>xinjiu=banxin">半新</a>
</div>
<div>
价格 <a href="Default.aspx?<%=getUrl(condition,"price=1-100") %>">低于100</a>
<a href="Default.aspx?<%=getUrl(condition,"price=100-200") %>">100-200</a>
<br />
规模 <a href="Default.aspx?<%=getUrl(condition,"scope=large") %>">规模较大</a>
<a href="Default.aspx?<%=getUrl(condition,"scope=zz") %>">规模中等</a>
<br />
新旧 <a href="Default.aspx?<%=getUrl(condition,"xinjiu=quanxin") %>">全新</a>
<a href="Default.aspx?<%=getUrl(condition,"xinjiu=banxin") %>">半新</a>
</div>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
public string condition = "";
protected void Page_Load(object sender, EventArgs e)
{
int i = 0;
foreach (string key in Request.QueryString.Keys)
{
if (i != 0)
{
condition += "&";
}
condition = condition + (key + "=" + Request.QueryString[key]);
i++;
}
}
// 去掉多余的参数
public String getUrl(string url, string addUrl)
{
// 第一次加载
if (url.Equals(""))
{
return addUrl;
}
String rValue = "";
List<QueryStringModel> listQueryStringModel = new List<QueryStringModel>();
// 分解目前参数
string[] values1 = url.Split('&');
foreach (string value1 in values1)
{
string[] nowQueryString = value1.Split('=');
// 把目前的参数都添加到List中
QueryStringModel model = new QueryStringModel();
model.KeyName = nowQueryString[0];
model.KeyValue = nowQueryString[1];
listQueryStringModel.Add(model);
}
bool isHave = false;
// 分解要新加的参数
string[] addQueryString = addUrl.Split('=');
// 循环List进行判断
for (int i = 0; i < listQueryStringModel.Count; i++)
{
// 如果Key相同,则替换
if (listQueryStringModel[i].KeyName.Equals(addQueryString[0]))
{
listQueryStringModel[i].KeyValue = addQueryString[1];
isHave = true;
}
}
// 如果List中不存在该参数,则添加
if (isHave == false)
{
QueryStringModel model = new QueryStringModel();
model.KeyName = addQueryString[0];
model.KeyValue = addQueryString[1];
listQueryStringModel.Add(model);
}
// 循环List生成url地址
for (int i = 0; i < listQueryStringModel.Count; i++)
{
if (i != 0)
{
rValue += "&";
}
rValue += listQueryStringModel[i].KeyName + "=" + listQueryStringModel[i].KeyValue;
}
return rValue;
}
}
public class QueryStringModel
{
String _keyValue;
public String KeyValue
{
get { return _keyValue; }
set { _keyValue = value; }
}
String _keyName;
public String KeyName
{
get { return _keyName; }
set { _keyName = value; }
}
}
}