RowCommand的事件里能添加按钮客户断事件吗?请教大家!哎!

解决方案 »

  1.   

    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
            {
                if (e.CommandName == "jinru")
                {                               for (int i = 0; i < GridView1.Rows.Count; i++)
                    {
                         HyperLink bt = ((HyperLink)GridView1.Rows[i].Cells[6].FindControl("Hy_jr"));
                          bt.Attributes.Add("onclick", "show()");                }
                }
    }这样吗?
      

  2.   

    3楼的做法完全可以,
    但一般对GridView中的控件加客户断事件,在RowDataBind事件中更好,
    少做一个循环!!
      

  3.   

    rowcommand 不行,是rowdatabound
      

  4.   

      protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
            {
                if (e.CommandName == "jinru")
                {
                    MeId = Int32.Parse(GridView1.DataKeys[Convert.ToInt16(e.CommandArgument)]["MeId"].ToString());                MeSpeci = GridView1.DataKeys[Convert.ToInt16(e.CommandArgument)]["MeSpeci"].ToString();                SQLServerDAL.CommoType.Cbepilot pilot = new SQLServerDAL.CommoType.Cbepilot();
                    sd = pilot.MespecSelect(MeId);                 StringBuilder sb2 = new StringBuilder();
                    for (int i = 0; i < sd.Tables[0].Rows.Count; i++)
                    {
                        sb2.Append("<img src=" + sd.Tables[0].Rows[i]["MsImages"] + " alt=" + sd.Tables[0].Rows[i]["Msspec"] + " vspace=8 hspace=6 style=\"border:2px solid #cccccc; width:98px; height:78px\" /><img src=\"../images/del.gif\" style=\"width: 15px; height: 15px\" onclick=\"Del(" + sd.Tables[0].Rows[i]["MsID"] + "," + sd.Tables[0].Rows[i]["MsID_MeId"] +")\" />");
                    }                StringBuilder sb = new StringBuilder();
                    sb.Append("<div id=\"text\">");
                    sb.Append("名&nbsp; 称:<input id=\"Text1\" type=\"text\" />&nbsp; 产品图片:<input id=\"File1\" type=\"file\" name=\"File1\" /><br /><hr /><br /><div id=\"Iamgesdiv\" >" + sb2.ToString() + "</div><input id=\"Button2\" type=\"button\" onclick=\"Add(" + MeId + ")\" value=\"确认添加\" />");
                    sb.Append("</div>"); 
                    str = sb.ToString();                for (int i = 0; i < GridView1.Rows.Count; i++)
                    {
                        Button bt = ((Button)GridView1.Rows[i].Cells[6].FindControl("Bu_jr"));
                        bt.Attributes.Add("onclick", "show('" + MeSpeci + "','" + MeId + "','" + str + "')");
                    }
                 } 
             }这个show函数没有执行到 奇怪了!
      

  5.   

    你写的事件不对, 不能用rowcommand 
    用RowDataBound 事件 或 rowcreated 事件
      

  6.   

    可以添加的,但是添加的客户端事件要等你这个COMMAND事件完成后。最好的方法是在RowDataBoun事件里面添加。