首页 新闻 会员 周边 捐助

Attributes属性为什么注册不到客户端

0
[已关闭问题]
<P>protected void DataList2_ItemDataBound(object sender, DataListItemEventArgs e)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.Item.Attributes["onmouseover"]="this.style.backgroundColor='red';";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.Item.Attributes["onmouseout"]="this.style.backgroundColor='#000'";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; }</P> <P>在客户端代码中没有生成这两个事件.</P> <P>代码虽然执行了,但脚本没有注册成功.</P>
李广亮的主页 李广亮 | 初学一级 | 园豆:195
提问于:2008-08-04 21:10
< >
分享
其他回答(1)
0
把onmouseover,onmouseout事件写到前台代码中吧,e.Item是一个ITemplate,给它加属性,输出不到html中。
玉开 | 园豆:8822 (大侠五级) | 2008-08-05 08:40
0
e.Item是一个DataListItem,是服务器端控件,所以它的Attributes也只能注册到服务器端,无法注册到客户端,删除你这个事件,然后在aspx中实现下面的JS: <asp:DataList ID="DataList1" runat="server" DataKeyField="id" DataSourceID="SqlDataSource1" Width="588px" onitemdatabound="DataList1_ItemDataBound"> <ItemTemplate> ............... </ItemTemplate> </asp:DataList> <script type="text/javascript"> window.onload = new function(){ var dataList = document.getElementById("<%=DataList1.ClientID%>"); var rows = dataList.getElementsByTagName("tr"); for(var i=0;i<rows.length;i++){ rows[i].onmouseover = function(){this.style.background="#f00";}; rows[i].onmouseout = function(){this.style.background="#fff";}; } } </script>
丁学 | 园豆:18730 (专家六级) | 2008-08-05 09:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册