单击DataGrid后,在弹出页面中需要传入两个以上的值。找了好半天才找到方法。
例:在DataGrid中单击"详细"后在弹出页面中传入第一列和第二列的值。按正常的写法确怎么也传不进去。正常代码如下:
strURL = "<a href='SysUserAdd.aspx?strHpUserID=" + grdDaiUser.Items[i].Cells[0].Text + "&strHpUserName="+grdDaiUser.Items[i].Cells[1].Text+">【详细】</a>";
grdDaiUser.Items[i].Cells[grdDaiUser.Columns.Count - 1].Text = strURL;
在运行时报错时,错误内容如下:
从客户端(strHpUserName="Admin>【详细】</a></td></tr><tr cl")中检测到有潜在危险的 Request.QueryString 值。
仔细观察发现第二参数前多个引号("),便在第二个参数后加上了一个引号。测试成功。成功的代码如下:
strURL = "<a href='SysUserAdd.aspx?strHpUserID=" + grdDaiUser.Items[i].Cells[0].Text + "&strHpUserName="+grdDaiUser.Items[i].Cells[1].Text+"'>【详细】</a>";
grdDaiUser.Items[i].Cells[grdDaiUser.Columns.Count - 1].Text = strURL;
注意黄色部分。
查一下网络说,在Web.config中加入下面代码
<pages validateRequest="false"/> // 对全局有效
可以解决错误,但自己测试后,并不能带出第二个参数。但按照我的方法就可以带出第二个参数。