URL传参数实现内容筛选出问题,急急急! 本帖最后由 zl2928511 于 2012-05-30 21:21:33 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 好不容易弄完了,楼主看看吧。<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; } } }} 防Sql注入 问个关于checkbox的简单问题, 求Firefox中的Firebug for firefox3.0插件? C#数据类型大小问题? 高分求救!!!aspx页面显示中文时乱码! asp.net + c# 中如何在网页中显示word中的内容啊?(word文档中有表格) 望大家都来看看 ! XML 并发问题 多用户同时修改xml文件 c#,sql中存储经纬度,获取该一系列经纬度轨迹长度和运动半径 请问,怎么把DataSet中的数据值赋给TextBox.Text 求高手,亲问微博的数据库要怎么设计,用SQL Server的? onclick的注册函数方式有问题吗?
价格 <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; }
}
}
}