URL传参数实现内容筛选出问题,急急急!

zl2928511 2012-05-30 08:45:04
后台代码:

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>


先后点击超链接“低于100”,“100-200”URL地址栏变成http://localhost:1362/AJAX/Default2.aspx?price=1-100&price=100-200
怎么改才能变成http://localhost:1362/AJAX/Default2.aspx?price=100-200
让后面的price的值覆盖前面的值呢?


...全文
175 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zl2928511 2012-06-01
  • 打赏
  • 举报
回复
嗯嗯!牛@
ONE-PIECE 2012-05-31
  • 打赏
  • 举报
回复
不懂啥意思。。。。。
ONE-PIECE 2012-05-31
  • 打赏
  • 举报
回复
不懂啥意思。。。。。
ONE-PIECE 2012-05-31
  • 打赏
  • 举报
回复
不懂啥意思。。。。。
荷梅月剑 2012-05-31
  • 打赏
  • 举报
回复
嗯,完美运行,楼主结贴吧,呵呵。
荷梅月剑 2012-05-31
  • 打赏
  • 举报
回复
好不容易弄完了,楼主看看吧。

<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; }
}
}
}

zl2928511 2012-05-30
  • 打赏
  • 举报
回复
哪位大牛拿下这100分...

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧