Laden...

CommandEventHandler reagiert nicht

Erstellt von Odaiko vor 13 Jahren Letzter Beitrag vor 13 Jahren 894 Views
O
Odaiko Themenstarter:in
21 Beiträge seit 2010
vor 13 Jahren
CommandEventHandler reagiert nicht

Nach einem Klick auf das ImageButton, geht er nicht in das Ereignis

Hier der Code:
Tabelle erstellen.......

.
.
TableCell tblCellEdit = new TableCell();
            ImageButton imgBMEdit = new ImageButton();
            imgBMEdit.ID = dtblMdlAng.Rows[i]["MID"].ToString();
            imgBMEdit.CommandName = "Edit";
            imgBMEdit.CommandArgument = dtblM.Rows[i]["MID"].ToString();
            imgBMEdit.ImageUrl = "./images/Bleistift.png";
            imgBMEdit.Command += new CommandEventHandler(imgBMEdit_Command);
            tblCellEdit.Controls.Add(imgBMEdit);
            tblRowM.Cells.Add(tblCellEdit);
.
.
}
    protected void imgBMEdit_Command(Object sender, CommandEventArgs e)
    {

        Response.Write("Muhhh");
    }

Wieso will der nicht?^^

5.941 Beiträge seit 2005
vor 13 Jahren

Salute Odaiko

Die Zelle, die Row, die Table hängst du dann schlussendlich in den Control-Tree (Schlussendlich an Page.Controls)?.

Wenn ja: Zu welchem Zeitpunkt?
Spätestens in OnLoad, besser OnInit.
Alles spätere kann zu Problemen führen, insbesondere mit Events.

Gruss Peter

--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

O
Odaiko Themenstarter:in
21 Beiträge seit 2010
vor 13 Jahren

Die Tabelle ist in einer Prozedur geschrieben, die bei Page_Load geladen wird (Postback == false)

O
Odaiko Themenstarter:in
21 Beiträge seit 2010
vor 13 Jahren

Hat sich erledigt. Das Laden der Tabelle war in der falschen Anweisung im Page_Load^^ Somit fehl am Platz^^

Sry für die Zeit zum lesen

Dennoch danke fürs Mitdenken

1.433 Beiträge seit 2006
vor 13 Jahren

Dann wäre es auch schon wenn der Post als gelöst markiert werden würde und man auch an der Lösung teilhaben könnte.

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt

O
Odaiko Themenstarter:in
21 Beiträge seit 2010
vor 13 Jahren

Wie bereits erwähnt, war der Aufruf der Prozedur im Page_Load => Postback == false. Und da war schon der Fehler. Hab die Funktion einfach ins Page_Load hineingeschrieben und schwupps... es ging.

nun eine kleine 2. frage: wie definiere ich im code behind, sodass er auf das seitenende spirngen soll?
ne Postbackurl-Zuweisung? Dies soll auf die TableCell "Edit" hinauslaufen.

5.941 Beiträge seit 2005
vor 13 Jahren

Halo Odaiko

Neue Fragen in Zukunft bitte in einen neuen Thread, danke.
Ans Seitenende im Browser, am Client?

Javascript rendern, das die Sache übernimmt.
Der letzte Satz verstehe ich nicht.

Gruss Peter

--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

O
Odaiko Themenstarter:in
21 Beiträge seit 2010
vor 13 Jahren

case 'cbxMHinzufuegen':
if (control.checked == true) {
$('#formBaM').show(400);
$('#lbtnBaSave').focus();
} else {
if (control.checked == false) {
$('#formBaMende').hide(600);

Leider will er nicht auf das div nach dem show springen 😦

P.S. jQuery

Ja am Clienten.

5.941 Beiträge seit 2005
vor 13 Jahren

--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011