问题:最近用户反馈,点击页面的链接,居然会跳转到其他页面,奇了怪了。我的链接是这样生成的,直接贴源代码如下
1 protected void gvContractView_RowDataBound(object sender, GridViewRowEventArgs e) 2 { 3 if (e.Row.RowType == DataControlRowType.DataRow) 4 { 5 string js = "location.href='Sec_Contract_Info.aspx?caseno=" + txtCaseNo.Value + "&contract=" + e.Row.Cells[0].Text + "'"; 6 if (iCaseStatus == 1) 7 { 8 js = "location.href='Sec_Contract_Info.aspx?caseno=" + txtCaseNo.Value + "&contract=" + e.Row.Cells[0].Text + "'"; 9 } 10 if (iCaseStatus == 2 || iCaseStatus == 3) 11 { 12 if (e.Row.Cells[4].Text == "是") 13 { 14 js = "location.href='ContractInfoDetail.aspx?caseno=" + txtCaseNo.Value + "&contract=" + e.Row.Cells[0].Text + "&isInv=done'"; 15 } 16 else 17 { 18 js = "location.href='ContractInfo.aspx?caseno=" + txtCaseNo.Value + "&contract=" + e.Row.Cells[0].Text + "&isInv=undo'"; 19 } 20 } 21 e.Row.Cells[0].Attributes.Add("onclick", js); 22 e.Row.Cells[0].CssClass = "fontClass"; 23 } 24 }
这是前台的页面
那么问题来了,这个时候点击合同号,居然会链接到其他的合同页面,而不是这个合同的具体信息,原因真的不清楚,全国每天偶尔会出现几例,以前都没出现过,如果找不到原因也没关系,那么就换一个解决办法吧,如果我想点击合同号就链接到对应的合同信息,那么我绑定数据到GridView时候该怎么设置呢??
protected void gvContractView_RowDataBound(object sender, GridViewRowEventArgs e)
{
.....
js = "<a target='_self' href='ContractInfo.aspx?caseno=" + txtCaseNo.Value + "&contract=" + e.Row.Cells[0].Text + "&isInv=undo'">合同号字段</a>";
e.Row.Cells[0].Text=js;
.....
}
这样就不会错乱了。
错乱的原因呢,以前写的都是这样的,这个居然会出现问题,本来按理说,广东区域只能看到广东的案件,案件下面只会有对应的合同,而这种url错乱居然会出现,进入广东的案子以后,看合同,居然偶尔会出现什么辽宁啊,上海啊,之类的合同信息,怎么会乱成这样,我的参数都不可能会出现这么大的误差吧
@车上有首长: 那么是不是你合同详细页的缓存导致的?
哈哈,还真的是,我加了个1秒的缓存。。。然后没有设置为缓存查询字符串,2了~~~谢谢了,怪不得如此的匪夷所思,以后这类问题要仔细处理了
用户自己眼花点歪了。