最近一直在研究和做 GRIDVIEW的功能
下面介绍一下 在 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"小家伙送回家,谢谢)
关于那些连数据源,放控件与编辑列的知识我就不说了(太基础的东西看一下书大家就明白)
写的不怎么好,希望大家多包含
这里是新人的大本营 ,所有实习生的家园,希望新人多多访问我的BLOG 谢谢!
我坚信的:
主观上努力+客观环境上积极+时间上坚持=(80%成功)那10%则是幸运,另10%则是“态度决定一切”理想成就未来
我的信念:
请积累把,新人必须积累,因为量的积累会达到质的改变.
请坚持把,坚持会让你得到最终的胜利
每天进步一点点,你就总是强者.
别忘记把每天的进步总结给自己看,因为那是你走下去的动力,
最后给所有与"放弃坚持"这个恶魔战斗的新人们罗嗦一句:
不要把很久以后才能看到的胜利结果作为自己坚持的资本(当人很长时间没得到预期的结果的时候他会退缩)
最好把你的目标定在当天(每天都要进步多少,掌握什么知识,并且总结),这样你会天天看到自己的进步,才会容易的坚持下去.
希望有一天我们都会胜利,祝福所有新人!我们一起加油!
同时希望企业不要因为我们是没经验的新人而把我们放到"狩猎圈"之外,那样我们将永远不会狩猎,不会成长