Tags:   
		
				c#
				
		
			
		
	
		
		
		
		
				
				
					
					
	
						Hej
Jeg har problemer med at fange / oprette click events til knapper som er oprettet i CodeBehind.
Jeg har lavet følgende simple test som viser hvad jeg forsøger at opnå..
using System;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
    public TextBox txt;
    protected void Page_Load(object sender, EventArgs e)
    {
        for (int i = 0; i < 10; i++)
        {
            TextBox txt = new TextBox() {
                Text = "Text"+i
            };
            Panel1.Controls.Add(txt);
            Button btn = new Button()
            {
                Text = "Button" + i
            };
            Panel1.Controls.Add(btn);
            btn.Click += new EventHandler(btn_Click);
        }
    }
    void btn_Click(object sender, EventArgs e)
    {
        Button clicked = (Button)sender;
        Response.Write("You have clicked button " + clicked.Text);
        Response.Write("Value of corresponding textbox ?? WHAT TO PUT HERE???? = ");
    }
}
						
						
						
						
					
		
				 
					
				
	
					
						1 svar postet i denne tråd vises herunder
						0 indlæg har modtaget i alt 0 karma
					
					
					
				
 
					
			
				
	
					
						
					0
					
						
					
					
				
 
				
					
					
	
						Fand en løsning som jeg kan leve med...
using System;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
    public TextBox txt;
    protected void Page_Load(object sender, EventArgs e)
    {
        for (int i = 0; i < 10; i++)
        {
            TextBox txt = new TextBox() {
                Text = "Text"+i,
                ID = "txt"+i
            };
            Panel1.Controls.Add(txt);
            txt = new TextBox()
            {
                Text = "sdfsdfsdf",
                ID = "msg" + i
            };
            Panel1.Controls.Add(txt);
            Button btn = new Button()
            {
                Text = "Button" + i,
                CommandArgument = i.ToString()
            };
            Panel1.Controls.Add(btn);
            btn.Command += new CommandEventHandler(btn_Command);
        }
    }
    void btn_Command(object sender, CommandEventArgs e)
    {
        Button clicked = (Button)sender;
        Response.Write("You have clicked button " + clicked.Text);
        TextBox txt = (TextBox)FindControl("txt" + e.CommandArgument.ToString());
        Response.Write("Value of textbox"+txt.Text);
        txt = (TextBox)FindControl("msg" + e.CommandArgument.ToString());
        Response.Write("Value of msg" + txt.Text);
    }
}