CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

DataList问题,兄弟们帮忙

楼主coldpanther2(ASP.NET朝九晚五)2005-01-04 10:45:40 在 .NET技术 / ASP.NET 提问

我使用DataList显示的表,只能让用户单击某一行的某一列,实现跳转到别的页面...  
   
  不过我看现在许多网站,都是把鼠标停在某一行上,那一行就会改变颜色,无论单击这一行的哪个位置,都可以跳转到这行对应的页面,请问这是怎么实现的??  
   
  如果DataList不行,DataGird也可以,可是....怎么实现呢? 问题点数:100、回复次数:11Top

1 楼yong427(无言)回复于 2005-01-04 10:51:12 得分 50

DataGrid的DataList一样  
  private   void   DataGrid1_ItemDataBound(object   sender,   System.Web.UI.WebControls.DataGridItemEventArgs   e)  
  {  
  if(e.Item.ItemType   ==   ListItemType.Item   ||   e.Item.ItemType   ==   ListItemType.AlternatingItem)  
  {  
  e.Item.Attributes.Add("ondblclick",Page.GetPostBackClientHyperlink((Button)e.Item.Cells[4].Controls[0],""))   ;     //非正在编辑的项双击后模拟点击隐藏的编辑按钮。  
  e.Item.Attributes.Add("onmouseover",   "this.style.backgroundColor='#99ff66'");  
                                  e.Item.Attributes.Add("onmouseout",   "this.style.backgroundColor='#ffffff'");  
  }  
  }  
   
  private   void   DataGrid1_ItemCommand(object   source,   System.Web.UI.WebControls.DataGridCommandEventArgs   e)  
  {  
  if(e.CommandName   ==   "Select")  
  {  
  /********************  
  里面写页面跳转代码  
  /***************** }  
  }Top

2 楼yangh44(涉世之初)回复于 2005-01-04 10:53:58 得分 5

可以实现!  
  在DataGird的属性生成器中可以设置的!利用DataGrid的   e事件!  
  DataList我没有实现过!Top

3 楼liuwaiqiang1981(在郁闷中努力)回复于 2005-01-04 11:18:05 得分 5

yong427(无言)   的应该对Top

4 楼xj728(“努力”就两个字)回复于 2005-01-04 11:46:19 得分 30

在DataGrid中的ItemTemplate模版中放一个LinkButton,id   =lnkBtn,   CommanName="Link"  
  在ItemDataBound事件如下写:  
  if(e.Item.ItemType   ==   ListItemType.Item   ||  
  e.Item.ItemType   ==   ListItemType.AlternatingItem)  
  {  
        e.Item.Attributes.Add("onmouseover","this.style.backgroundColor='beige'");  
        e.Item.Attributes.Add("onmouseout","this.style.backgroundColor='white'");  
   
        e.Item.Attributes.Add("ondblclick",Page.GetPostBackClientEvent(e.Item.FindControl("lnkBtn"),""));  
  }  
   
  当然你还要在ItemCommand事件中写:  
  if(e.CommandName   ==   "Link")  
        Response.Redirect("http://www.sina.com.cn");  
   
  呵呵,地址你随便写了  
   
  Top

5 楼xj728(“努力”就两个字)回复于 2005-01-04 11:47:52 得分 0

LinkButton也可以改成其它的控件,你可以在ItemDataBound事件中给LinkButton绑定值,这样就可以动态的跳转到指定的页面了Top

6 楼coldpanther2(ASP.NET朝九晚五)回复于 2005-01-04 12:02:19 得分 0

555555555555为什么在DataGrid里没问题,而在DataList里就不行呢?????  
   
  我试了很多遍了....Top

7 楼goody9807(http://goody9807.cnblogs.com)回复于 2005-01-04 12:27:02 得分 5

一定要用LinkButtonTop

8 楼coldpanther2(ASP.NET朝九晚五)回复于 2005-01-04 13:15:11 得分 0

试了半天,在DataList里面颜色是可以实现了,但是e.Item.Attributes.Add在DataList里没有效果,十分郁闷......Top

9 楼coldpanther2(ASP.NET朝九晚五)回复于 2005-01-04 13:36:18 得分 0

哈哈,经过不断的摸索,终于让我找到方法了,呵呵,为了让以后同样用DataList有同样问题的兄弟好搜索,特把解决方法写出来,同时,非常感谢楼上的几位大哥提供思路.  
   
  首先,不知道为什么在DataList的ItemDataBound添加  
  e.Item.Attributes.Add("onmouseover","this.style.backgroundColor='beige'");  
  等等方法,都不会有效果,我就用DataGrid控件试了一下,发现DataGrid没有问题,然后我运行DataGrid后,查看代码,发现只不过是在<tr>标签里加上了<tr   onmouseover="this.style.backgroundColor='beige'">  
  于是我手动将DataList里面的  
  <ItemTemplate>  
  <table>  
  <tr   onmouseover="this.style.backgroundColor='beige'">  
  <td><%#   DataBinder.Eval(Container.DataItem,"PKID")   %></td>  
   
  </tr>  
  </table>  
  </ItemTemplate>  
  颜色问题解决....  
   
  呵呵,那个链接也不困难,将上面那个<tr>标签改成  
  <tr   onmouseover="this.style.backgroundColor='beige'"   onclick="window.open('abcd.aspx?PKID=<%#   DataBinder.Eval(Container.DataItem,"PKID")   %>')">  
   
  就一切OK了...  
   
  呵呵,虽然也许这个问题菜了点,但是通过大家的帮助,和自己的努力,来解决问题也是很开心的...  
   
  再次感谢楼上各位兄弟:)  
  Top

10 楼coldpanther2(ASP.NET朝九晚五)回复于 2005-01-04 13:37:00 得分 0

10分钟后结帖.Top

11 楼tengjian1981(新的一年又来到)回复于 2005-01-04 14:01:22 得分 5

upTop

相关问题

  • ................走啦,兄弟们.......................
  • ...............再见,兄弟们...................
  • 兄弟们,求救?
  • 兄弟们,早啊!
  • 兄弟们帮忙!!!!!!
  • 兄弟们~~帮忙~~~
  • 兄弟们谁在?
  • 兄弟们请进
  • 兄弟们,拉兄弟一把 ,救命!!!!!
  • 请各位兄弟帮忙看看,DataList的问题

关键词

  • 页面
  • datagrid
  • datalist
  • 一行
  • 实现
  • 跳转
  • backgroundcolor
  • item
  • itemtype
  • itemdatabound

得分解答快速导航

  • 帖主:coldpanther2
  • yong427
  • yangh44
  • liuwaiqiang1981
  • xj728
  • goody9807
  • tengjian1981

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo