GridView里面的HyperLink和ButtonField操作总结
来源:互联网 发布:方正超线软件 编辑:程序博客网 时间:2024/05/25 23:27
GridView里面的HyperLink和ButtonField操作总结
HyperLink的操作前段时间已经研究的颇有心得了,但是ButtonField却一直没有解决,这个问题困扰了我多日,中间因为考试中段了一段时间,现在重新找出来发现问题还是没有解决,在查找了一些资料之后终于搞定了,其实挺简单的,这里面用到了一个小技巧,那就是使用TemplateField。
懒得自己写了,总结一下别人做过的工作吧。
------------------爱国分界线----------------------
HyperLink的应用只要是页面转向,中间要设置一些诸如ID啊、NAME啊之类的属性,用起来非常方便,其主要属性设置为:
<asp:HyperLinkField DataNavigateUrlFields="UserId,UserName" DataNavigateUrlFormatString="userdetail.aspx?UserId={0} & UserName={1}"DataTextField="UserName" HeaderText="用户详细信息" Target="_blank" />看上去是不是非常强悍?用起来更强悍!
ButtonField的属性主要的就一个CommandName,看起来很羸弱,用起来也是如此。看看它的典型应用的属性设置吧:
<asp:ButtonField ButtonType="Button" CommandName="Click1" Text="按钮点击事件1" /><asp:ButtonField ButtonType="Button" CommandName="Click2" Text="按钮点击事件2" />protected void GridView1_OnRowCommand( object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.ToString() ==("Click1"))
Label1.Text = "you Click" + e.CommandName.ToString()+1111;
else
Label1.Text = "you Click" + e.CommandName.ToString() + 222;
}
这个CommandNam就是为了判断选取的是哪一列的按钮。虽然代码和属性都很简单,但是ButtonField应用起来很多地方不方便,比如在AJAX架构中放在UpdatePanel种的时候,使用JavaScript就让人困扰。于是我们来介绍一下模板列TemplateField。
很多ASP.NET2.0程序设计高手在网上贴了很多怎么转换和使用模板列,我这里就直接拿过来了:
1、点击GridView的快捷箭头,选‘编辑列’。2、加入一个ButtonFiled,在右边的属性框里设置HeadText(用以显示),定义一个CommandName(用以你点击以后触发的动作)
3、点右下角的‘转化为模版列’,ok。
4、右击GridView,‘编辑模版’--‘Column[..]--你之前定义的HeadText’,ItemTemplate里看见你的按钮了吗?点中,属性里有一项‘OnClientClick’,把“javascript:returnconfirm('真的要删除吗?');”粘贴进去。
5、搞定你需要的功能了。
6、如果你想点击按钮触发其他事件,可以在RowCommand事件里详细写。。。
protected void GridView1_RowCommand(object sender,GridViewCommandEventArgs e)
{
if(e.CommandName =="MyBtnClicked")//前面你定义的CommandName
{
Response.Write("kkk clicked");
}
}
如果你使用了微软的数据源空间SqlDataSource,那么你还可以直接设置Button将要操作的数据列,而不用再去写代码,如下设置:
1、在前面的步骤4中,你在itemTemplate里看见你的按钮右上角的小箭头了吧,verygood,点击‘编辑DataBings’。。。2、看见这一级别的绑定了吗?把CommandArgument和你想操作的字段绑定吧。。。(右边下拉列表选择)
3、ok,现在你可以类似下面方法调用
------------------
protected void GridView1_RowCommand(object sender,GridViewCommandEventArgs e)
{
if(e.CommandName == "MyBtnClicked")
{
Response.Write("you wanted " + e.CommandArgument.ToString());
}
}
------------------
你无非就是想取到结果集中的cell里的内容,现在你想得到的内容绑定在CommandArgument里了,你就不用再什么index什么cell[].text了(复杂的cell你还要findcontrol,呵呵)
OK,这就是模板列最有意思的应用了,当然了,应该还有更加强大的应用,但是迄今为止我用到的也就这么一些了,也只能介绍这么多了。我最喜欢的还是很方便的就可以在里面添加JavaScript代码,很强大。
今天的总结就这么写了,以后遇到问题随时分享。
- GridView里面的HyperLink和ButtonField操作总结
- GridView里面的HyperLink和ButtonField操作总结
- GridView里面的HyperLink和ButtonField操作总结
- GridView里面的HyperLink和ButtonField操作总结
- GridView里面的HyperLink和ButtonField操作总结
- GridView里面的HYPERLINK数据邦定
- gridview的ButtonField
- 使用GridView中的按钮(ButtonField或TemplateField里面的按钮)控制UpdatePanel的更新
- vb.net 2008的gridview中如何取得ButtonField的text值和boundfield的值
- gridview buttonfield用法
- gridview的buttonfield获取该行的索引值
- gridview的buttonfield获取该行的索引值(实例讲解)
- datalist和gridview遍历还有hyperlink
- gridview中试用buttonfield时弹出提示框的方法
- 如何获取Gridview中ButtonField的text属性
- Gridview中HyperLink的NavigateUrl绑定问题
- 在DataList和Gridview中截取HyperLink所取的字符长度
- gridview列绑定HyperLink
- itouch4完美越狱
- ABAP 内表总结-2 整体内表的操作
- wince 用eboot 下载大于32m 的镜像解决方法
- 在 *.hbm.xml 配置文件 中 节点 的 class 属性
- Mongodb源码分析--Replication之主从模式--Slave
- GridView里面的HyperLink和ButtonField操作总结
- cannot add new member
- RPM Fusion:提供Fedora官方因各种原因(如版权、不开源)而不愿意提供的包
- 求解啊!!!!
- Mongodb源码分析--Mongos之balancer(均衡)
- RuntimeException
- LoadRunner录制脚本时报加载GrooveUtil.dll出错的解决方法
- 关于调用qsort的几种用法
- Fedora 15下配置安装openvpn server