请教一个关于跳页传字符串的问题
这是我的方法-----------------------
public DataSet getRolls(string str)
{
StringBuilder sb = new StringBuilder();
sb.Append("select * from Rolls ");
sb.Append(str);
DataSet ds = d.getset(sb.ToString());
return ds;
}
------------------------
这是我拼字符串的代码
------------------------
try
{
StringBuilder SqlStr = new StringBuilder();
SqlStr.Append(" where");
if (KeyValue_JAH.Text == "")
{
throw new Exception("卷案号不能为空!");
}
else
{
SqlStr.Append(" JAH like '%" + KeyValue_JAH.Text + "%'");
if (KeyValue_SSJK.SelectedValue != "0")
{
SqlStr.Append(" and SSJK = '" + KeyValue_SSJK.SelectedValue + "'");
}
。。。。。。。。。
if ((KeyValue_ZZRQ.Text != "") && (KeyValue_ZZRQ2.Text != ""))
{
SqlStr.Append(" and ZZRQ >='" + KeyValue_ZZRQ.Text + "' and ZZRQ<='" + KeyValue_ZZRQ2.Text + "'");
}
}
Response.Redirect("RollFilesManager.aspx?tiaojian=" + SqlStr.ToString(),false);
----------------------
现在用“112”这条数据来查询
语句拼出来是这样的
----------------------
select * from Rolls where JAH like '%112%'
(这里无误,断点能跟出来)
----------------------
但是用那个跳页语句传过去之后
“%11”这一小节就变成了一个向左的小黑三角????
----------------------
这是为什么?
怎么破?
求好心人指点 select string exception stringbuilder 数据 --------------------编程问答-------------------- 1. URL传值不安全,直接传SQL语句就更不可取
2. URL传值有长度限制
3. 你的问题是因为没有URL编码 解码导致的 --------------------编程问答-------------------- %11本来就是不可打印字符。
%25%31%31才表示%11 --------------------编程问答--------------------
那应该怎么解决呢?有没有什么转码的方法? --------------------编程问答--------------------
知道得转移,关键是how to do it? --------------------编程问答-------------------- ("RollFilesManager.aspx?tiaojian=" + Server.UrlEncode( SqlStr.ToString()), --------------------编程问答--------------------
不是告诉你做url编码么 httputility.urlencode --------------------编程问答-------------------- 搜噶搜噶,跟诸位学着东西了 --------------------编程问答--------------------
%11本来就是不可打印字符。
%25%31%31才表示%11
编码之后别忘解码
补充:.NET技术 , ASP.NET