protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Button btn = new Button();
btn.Text = "点我";
btn.Click +=new EventHandler(btn_Click);
Panel1.Controls.Add(btn);
}
} private void btn_Click(object sender, EventArgs e)
{
int i = 0;
}有没有什么办法点btn的时候触发btn_Click,要求必须在IsPostBack里面

解决方案 »

  1.   

    你可以通过传递参数的方式来实现。
    Request.QueryString["action"] 通过一个标识来决断要不要触发。
      

  2.   

    你这个要被刷没的.把if(!IsPostBack)去了,每次page_load都创建,否则肯定刷没.
      

  3.   

    我知道会刷没,我现在有2种办法:1,去掉ispostback,但不可取,每次读数据库太耗
                                   2。换个页或者往本页传参数做处理,但太麻烦
    我就想问有没有更好的办法
      

  4.   

    谢谢大家,我结帖了,
    protected void Page_Load(object sender, EventArgs e)
    {
    if (!IsPostBack)
    {
    LinkButton1.Click += new EventHandler(btn_Click);
    }
    } private void btn_Click(object sender, EventArgs e)
    {
    int i = 0;
    }
    这样没作用,但是
    protected void Page_Load(object sender, EventArgs e)
    {
    if (!IsPostBack)
    {
    LinkButton1.Attributes.Add("onclick", "return confirm('确认删除?');");
    }
    }
    这个会起作用,有知道的还请指教