阿宽

Nothing is more powerful than habit!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

DataGrid中传递两个参数方法

Posted on 2008-10-31 14:53  宽田  阅读(683)  评论(0编辑  收藏  举报

单击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"/>  //  对全局有效  

可以解决错误,但自己测试后,并不能带出第二个参数。但按照我的方法就可以带出第二个参数。