Beste tweakers,
Ik heb een vreemd probleem met ajax, google zoeken levert niks op en ik zou het niet meer weten...
Bij een asp.net link voeg ik een confirmbutton en modalpopup toe. Wanneer ik op link1 klik en cancel en vervolgens op link2 klik en ok duw, wordt de event van link2 gefired en direct daarna de event van link1
Wanneer ik het ajax gedeelte uitschakel werkt alles perfect.
Hieronder wat code :
vervolgens de event handler
Ik heb een vreemd probleem met ajax, google zoeken levert niks op en ik zou het niet meer weten...
Bij een asp.net link voeg ik een confirmbutton en modalpopup toe. Wanneer ik op link1 klik en cancel en vervolgens op link2 klik en ok duw, wordt de event van link2 gefired en direct daarna de event van link1
Wanneer ik het ajax gedeelte uitschakel werkt alles perfect.
Hieronder wat code :
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| tcel = new TableCell(); tcel.ColumnSpan = 1; tcel.Width = Unit.Percentage(100); tcel.Controls.Add(new LiteralControl("<img src=\"/Images/includes/ico/" + icons.HaalIcon(bijlage["FILENAME"].ToString().Trim().Substring(bijlage["FILENAME"].ToString().Trim().LastIndexOf(".") + 1)) + "\" border=\"0\" /> ")); //tcel.Text += bijlage["FILENAME"].ToString().Trim().Substring(0, bijlage["FILENAME"].ToString().LastIndexOf(".")); LinkButton lnk = new LinkButton(); lnk.ID = "Lnk" + bijlage["K_ATTACHMENT"].ToString().Trim(); lnk.Text = bijlage["FILENAME"].ToString().Trim().Substring(0, bijlage["FILENAME"].ToString().LastIndexOf(".")); lnk.CssClass = "Normal"; lnk.Click += new EventHandler(lnk_Click); tcel.Controls.Add(lnk); tcel.Wrap = false; AjaxControlToolkit.ModalPopupExtender mpe = new AjaxControlToolkit.ModalPopupExtender(); mpe.ID = "ModalPopupExtender" + bijlage["K_ATTACHMENT"].ToString().Trim(); mpe.TargetControlID = "Lnk" + bijlage["K_ATTACHMENT"].ToString().Trim(); mpe.PopupControlID = "PNL"; mpe.OkControlID = "ButtonOK"; mpe.CancelControlID = "ButtonCancel"; mpe.BackgroundCssClass = "modalBackground"; tcel.Controls.Add(mpe); AjaxControlToolkit.ConfirmButtonExtender cbe = new AjaxControlToolkit.ConfirmButtonExtender(); cbe.ID = "ConfirmButtonExtender" + bijlage["K_ATTACHMENT"].ToString().Trim(); cbe.TargetControlID = "Lnk" + bijlage["K_ATTACHMENT"].ToString().Trim(); //cbe.OnClientCancel = "cancelClick"; cbe.DisplayModalPopupID = "ModalPopupExtender" + bijlage["K_ATTACHMENT"].ToString().Trim(); tcel.Controls.Add(cbe); trij.Cells.Add(tcel); |
vervolgens de event handler
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| void lnk_Click(object sender, EventArgs e) { int AttId = int.Parse(((LinkButton)sender).ID.Substring(3)); DataRow attach = facade.HaalPublicationAttachmentByAttachmentId(AttId).Tables[0].Rows[0]; System.IO.FileInfo fi = new System.IO.FileInfo(Request.PhysicalApplicationPath + "Attachments/Publications/" + K_PUBLICATION.ToString() + "_" + attach["FILENAME"].ToString().Trim()); Response.Buffer = false; Response.ContentType = MimeType(fi.Name); Response.AddHeader("Content-Disposition", "attachment;filename=" + attach["FILENAME"].ToString().Trim()); Response.TransmitFile(fi.FullName); Response.End(); } |