代码如下:
 string img = "<div style='margin:4px; float:left;'><ul><li><a href='href_path'><img src='src_path' style='boder:0px;' /></a></li><li> <input id='ButtonID' type='button' value='删除' runat ='server' onserverclick='BtnDel_Click'  /></li></ul></div>";
请问如何给这个删除按钮加事件呢?以便在后台处理想对应的数据

解决方案 »

  1.   

    发现这个onserverclick是不是能用的?
      

  2.   

    动态添加服务器控件不是这样加的,你加的是html元素,他当然没有onserverclick属性
                Button btn = new Button();
                btn.Text="删除";
                btn.Click += new EventHandler(btn_Click);         父控件.Controls.Add(btn); void btn_Click(object sender, EventArgs e)
            {
              
            }
      

  3.   

    先在页面中找到这个控件,然后添加事件。
    Page.FindControl;
    转换成你控件的类型;
    添加
      

  4.   

    HtmlInputButton bt= (HtmlInputButton)Page.FindControl("ButtonID");
            bt.ServerClick+=new EventHandler(方法);
      

  5.   

    添加一个ID为BtnDel的 button
    设置是否呈现为提交按钮属性为false
    并处理OnClick事件
    type='button' value='删除' runat ='server' onclick='__doPostBack('BtnDel','');'  /> </li> </ul> </div>"; 这样就可以响定BtnDel的事件了
      

  6.   

    我做了个测试,试了下楼上说的方法,发现老是提示“ 语法错误”。using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;public partial class JackieChan20071112_Exhibitions_ex_test0 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                string aa = "a1,b1,c1,d1";
                string[] b = aa.Split(new char[] { ',' });
                string str = "";
                for (int i = 0; i < b.Length; i++)
                {
                   
                    str = str + "<div><input id='ButtonID' type='button' value='删除' runat='server' onclick = '__doPostBack('Button1','')' /></div>";
                    str = str.Replace("ButtonID", b[i].ToString());
                }
                this.Literal1.Text = str;
                           
            }
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
          Response.Write("<script language='javascript'> alert('"+ sender.ToString()+"')+</script>");
        }
    }<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ex_test0.aspx.cs" Inherits="JackieChan20071112_Exhibitions_ex_test0" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        
            <asp:Literal ID="Literal1" runat="server"></asp:Literal>
            <asp:LinkButton ID="Button1" runat="server" onclick="Button1_Click" 
                Visible="False">LinkButton</asp:LinkButton>
        
        </div>
        </form>
    </body>
    </html>
      

  7.   


    你不能把代码直接放在.aspx页面上吗?如果你不懂动态加载,建议你直接把控件放在.aspx页面上。如果你在某些时候让它不可见,你可以把DIV隐藏。