[求助]request方式取值错误的问题
小弟最近做了个网站,遇到一些问题,希望大虾们赐教~~情况如下:
图片列表页面 “list.aspx ”显示所有图片的缩略图,用了DATALIST,点击某个小图打开一个新页面“show.aspx?picid=XXX”页面显示大图,show.aspx通过picid来从数据库取图。
现在出现的问题:show.aspx用request["picid"]来获取参数,出现偶尔取对偶尔出错的情况。
例如用show.aspx?picid=333 打开,结果request["picid"]取的值竟然是222,刷新一下又可以了,有时要刷新几遍才行,有时候又十分正常,毫无规律。。。想到头大都解决不了问题
恳求各位帮忙分析下问题。
附上代码
protected void Page_Load(object sender, EventArgs e)
{
if (Request["picid"]!=null)
{
img_picshow.Attributes.Add("OnLoad", "sizechange(this)");
showpic(); //显示图片
}
else
{
Response.Redirect("pic_list.aspx");
}
}
protected void showpic()
{
if (Request["picid"] != null)
{
string strSQL ="SELECT tb_mypic.*, tb_user.username as v_username FROM tb_mypic INNER JOIN tb_user ON tb_mypic.userid = tb_user.userid where mypicid =" + Request["picid"].ToString(); //关键在这里的Request["picid"],偶尔会取值出错
DataSet ds = new DataSet();
ds = GetDataSet(strSQL, "pic");
img_picshow.ImageUrl = ds.Tables["pic"].Rows[0]["picurl"].ToString();
lbl_pictitle.Text = ds.Tables["pic"].Rows[0]["title"].ToString();
lbl_pictext.Text = ds.Tables["pic"].Rows[0]["pictext"].ToString();
lbl_author.Text = ds.Tables["pic"].Rows[0]["v_username"].ToString();
}
else
{
Response.Write(MessageBox("非法操作"));
Response.Redirect("pic_list.aspx");
}
}