nametmp

导航

【转贴】GridView里面的HYPERLINK数据邦定

一:最基本

HyperLink的最基本的属性:NavigateUrl   是 要连接的地址  可在可视化界面设定或者.CS页
  
HyperLink(控件ID).NavigateUrl =WWW.XXXXXX.ASPX

要在页面进行传参数的话 可以有两个基本方法

一: 可视化界面设定HyperLink列的DataNavigateUrlFormatString属性对应的值写上你的连接和参数
   比如aaaaaa.aspx?uid={0}&pwd={1}
   然后在DataNavigateUrlFields 里面写上你 要传的参数内容(代替上面写的{0}{1}的数据库字段)

 比如,你数据源的SQL语句是 SELECT USER_ID,PASSWORD FROM USERS
   那么你应该在DataNavigateUrlFields 里面写上这两个自段(注意:每个字段单独站一行)

二:小技巧

当你想在.CS页用HyperLink传参数的时候,但是你希望传的值不是数据库里取出的字段
而是你自己写的变量的值

你可以这么写

protected void GridView1_RowDataBound(object sender,GridViewRowEventArgs e) { HyperLink tmp=e.ROW.Cells[0].Controls[0] as HyperLink; //Cells[0]中的0改成你HyperLink所在的列的索引,比如你HyperLink在GRIDVIEW中的第三列所以就是2 //Controls[0] 就是第一个控件(因为我这列只放了一个控件所以默认0的控件就是HyperLink) tmp.NavigateUrl="aaa.aspx?uid=变量1&PWD=变量2"; }

OK成功(前提是你必须把 OnRowDataBound="GridView1_RowDataBound"  这个可怜的小家伙送回属于他自己的家 ,把他
送到 <ASP:GRIDVIEW></ASP:GRIDVIEW>的标签头里面 →变成
<ASP:GRIDVIEW  OnRowDataBound="GridView1_RowDataBound"></ASP:GRIDVIEW>

三:扩展

然后你就会说 "我的天呀"   上帝啊 我现在想让它传的是我数据库里汇总的信息的值而不是数据库里的字段的值比如 SQL 语句是:  SELECT  MONEY1+MONEY2+MONEY3 AS MYMONEY FROM 表
我想取MONEY1+MONEY2+MONEY3 的相加的结果来做为传输参数

,我要怎么办!

好!那我们现在开始祈祷把!啊门!上帝啊!马上公布答案!

这样的话可在.CS页里这么写

protected void GridView1_RowDataBound(object sender,GridViewRowEventArgs e) { DataRowView DDR=e.Row.DataItem as DataRowView; int get_Money=DDR["MYMONEY"].ToInt32(); HyperLink tmp=e.ROW.Cells[0].Controls[0] as HyperLink; tmp.NavigateUrl="aaa.aspx?Money="+get_Money+""; }


OK成功(请看在上帝的面子上,别忘记把OnRowDataBound="GridView1_RowDataBound"小家伙送回家,谢谢)

posted on 2008-01-04 23:48  nametmp  阅读(1159)  评论(0编辑  收藏  举报