<asp:DataList id="Datl" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 103px" runat="server" 
               RepeatLayout="Table" Width="440px" RepeatDirection="Horizontal" RepeatColumns="3" CellPadding="5" 
               CellSpacing="5" Height="233px"> 
               <ItemTemplate> 
                  <SPAN>  
                     <asp:ImageButton id="ImageBtn" CommandName="ImgBtn" CommandArgument="imgbtn" style="WIDTH: 40px; HEIGHT: 37px" Height="32px" Width="32px" ImageUrl="images/folder.png" 
                        Runat="server"></asp:ImageButton><BR> 
                     <BR> 
                     <asp:Label id="lbl" Height="15px" Width="80px" Runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"nodename")%>'> 
                     </asp:Label></SPAN> 
               </ItemTemplate> 
            </asp:DataList> 
.csusing System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Configuration;namespace WebProject.common
{
/// <summary>
/// content 的摘要说明。
/// </summary>
public class content : System.Web.UI.Page
{
protected SqlConnection  Conn;
protected SqlDataAdapter mycmd;
        protected DataSet ds;
protected System.Web.UI.WebControls.DataList Datl;
protected string cmdSelect;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
string id=Request.QueryString["id"];
Conn=new SqlConnection(ConfigurationSettings.AppSettings["SqlConnString"].ToString());

cmdSelect="select * from t_tree where parentid='"+id+"'";
mycmd=new SqlDataAdapter(cmdSelect,Conn);
                ds=new DataSet();

mycmd.Fill(ds,"t_tree");
DataView objDataView=new DataView();
objDataView=ds.Tables[0].DefaultView;
Datl.DataSource=objDataView;
Datl.DataBind();
            
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{    
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void Datl_ItemCommand(object sender, DataListCommandEventArgs e)
{
switch (e.CommandName)
{
case "ImgBtn" :

Datl.SelectedIndex=e.Item.ItemIndex;
Label lb=(Label)e.Item.FindControl("lbl");
if (lb!=null)
{
lb.Text="afss";
}
   
Datl.DataBind();
break;
}
}我怎么用<imagebutton>的onclick事件,来修改发生onclick事件的<imagebutton>和对应的<label>背景属性。谢谢!这个问题三天没有解决了。

解决方案 »

  1.   

    //更改背景属性可以在浏览器上完成
    //cs 中
    imagebutton.Attribute["onclick"] ="return image_onclik();";//aspx中
    function image_onclick(){
        //根据label id查找控件
        var label = document.getElementById("labelid");
        label.style.backgroudColor="red";
    }
      

  2.   

    因为imagebutton为服务器控件,会回传
    //cs 中
    imagebutton.Attribute["onclick"] ="return image_onclik();return false;";
      

  3.   

    没有imagebutton的click事件啊
    可以在Datl_ItemCommand(object sender, DataListCommandEventArgs e)
    {
    ....
    this.ImageButton1.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton1_Click);//帮定imagebutton的click事件
    ....
    }
    private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e)
    {

    }