Rajan Maheshwari Ответов: 4

Динамическая проблема события щелчка кнопки в asp.net с#


Хиии.
Я создал 5 динамических кнопок по щелчку кнопки.Теперь я хочу, чтобы вновь созданные динамические кнопки имели событие щелчка и выполняли какую-то операцию над своим щелчком
Я сделал это в C# windows forms
Не в состоянии сделать это asp.net (с#)
Я взял панель в asp, а затем одним нажатием кнопки создал несколько динамических кнопок.Я тоже пробовал обработчик событий Click+= , но безуспешно
Мой код до сих пор

using System;
using System.Configuration;
using System.Data;
using System.Linq;
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;
using System.Xml.Linq;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        createbuttons();
    }

    public void createbuttons()
    {
        for (int i = 2; i <= 5; i++)
        {
            Button b = new Button();
            b.ID = "Button"+i.ToString();
            b.Text = "Button"+ i.ToString();
            b.Click+= //problem lies here...i did something here in the event handler like
                        Response.Write((Button)Panel1.FindControl(ID).Text;

            Panel1.Controls.Add(b);
        }
    }
}

4 Ответов

Рейтинг:
2

jaideepsinh

public void createbuttons()
   {
       for (int i = 2; i <= 5; i++)
       {
           Button b = new Button();
           b.ID = "Button"+i.ToString();
           b.Text = "Button"+ i.ToString();
           b.Click += new EventHandler(b_Click);
           this.form1.Controls.Add(b);
           Panel1.Controls.Add(b);
       }
   }


protected void b_Click(object sender, EventArgs e)
    {
        //Your process you want to do on click.
    }


Примите как ответ, если решите свою проблему.


Rajan Maheshwari

охраняемых недействительными b_Click(объект отправителя, EventArgs в электронной)
{
Кнопка b=отправитель как кнопка;
Этикетка 1.Текст = ((Кнопку) "Панель1".FindControl("Кнопка1")).Текст;
}

Я сделал это, но не сработало

jaideepsinh

Напишите это там, где вы хотите вызвать событие click.
б.Нажмите кнопку += этот.b_Click;

Rajan Maheshwari

не могли бы вы, пожалуйста, elloborate, потому что b_click теперь является функцией, которая требует 2 аргумента

Member 11754700

попробуй вот это, я думаю, это работа ..
bt.Click += новый EventHandler(bt_click);

Shrikesh_kale

как скачать pdf для каждого нажатия кнопки,т. е. если buttonID-это Button1, то button1.pdf должен быть загружен и так далее....

Рейтинг:
1

Rockstar_

Привет,

Это может вам помочь..

http://www.aspdotnet-suresh.com/2012/07/create-controls-dynamically-in-aspnet.html[^]


Рейтинг:
1

Member 12966735

Поместите код создания кнопки dis link в загрузку страницы без выхода

if (!Page.IsPostBack)

и написать обработчик для него
Это сработает

LinkButton lbtnDownload = new LinkButton();
                  lbtnDownload.Click += new System.EventHandler(lbtnDownlaod_Click);
                  lbtnDownload.Text = "Downlaod Here";
                  Div.Controls.Add(lbtnDownload);


 private void lbtnDownlaod_OnClick(object sender, EventArgs e)
        {
//Your code here 
}


CHill60

Ответил 4 года назад! Вы не добавили ничего нового к предыдущим решениям

Рейтинг:
0

praks_1

Привет,
Попробуйте это:

Button btnDyn;
Label lbl;

protected void Page_Init(object sender, EventArgs e)
{
    btnDyn = new Button();
    btnDyn.ID = "btnDyn";
    btnDyn.Style["Position"] = "Absolute";
    btnDyn.Style["Top"] = "100px";
    btnDyn.Style["Left"] = "10px";
    btnDyn.Click += new EventHandler(Button_Click);
    this.form1.Controls.Add(btnDyn);
 
    lbl = new Label();
    lbl.ID = "lblDyn";
    lbl.Style["Position"] = "Absolute";
    lbl.Style["Top"] = "150px";
    lbl.Style["Left"] = "10px";
    this.form1.Controls.Add(lbl);
}

protected void Page_Load(object sender, EventArgs e)
{
    btnDyn.Text = "Dynamic Button";
    lbl.Text = "";
}

protected void Button_Click(object sender, EventArgs e)
{
    lbl.Text = "dynamic label text";
}