动态添加按钮到面板并获取其父ID
我创建了一个页面,我给管理员一个更改照片信息的方法(例如标题,描述等)页面上的所有控件都是动态添加的,因为我有多个照片库。
-
面板 – >父母。
-
按钮。
-
标题文本框。
-
描述文本框。
在每个面板中,我都有一个按钮,当点击时,将更改的信息发送到存储照片信息的服务器(Flickr)。 此按钮的单击事件是动态添加的,我想知道是否可以获取我刚刚单击的Button的父项。
这是我添加所有控件的代码:
//global veriables (this is only part of the code) Panel panel; Button button; for (int i = 0; i < photo.Length; i++) { photo[i] = new FlickerImages(photoSet.MediumURLS[i], photoSet.ThumbnailURLS[i], photoSet.Titles[i], photoSet.Descreption[i]); panel = new Panel(); panel.ID = "panel" + i; button = new Button(); button.ID = "sendDataButton" + i; button.Text = "send data"; button.Click += button_Click; //adding the event label = new Label(); label.ID = "editLabel" + i; panel.Controls.Add(label); panel.Controls.Add(photo[i].CurrentImage(i)); //Image control panel.Controls.Add(photo[i].EditTitleTextBox(i)); //TextBox control panel.Controls.Add(photo[i].EditCommentTextBox(i)); //TextBox control panel.Controls.Add(button); Form.Controls.Add(panel); }
这是我添加到所有按钮的点击事件:
void button_Click(object obj, EventArgs e) { Response.Write(button.Parent.ID); // i get panel10 every time this get fired. }
我知道这可以用jQuery实现,但是有可能在ASP.NET中获取按钮ID吗?
对不起我的英文,谢谢你的帮助。
不确定,但您在寻找ClientID
属性吗? ( button.Parent.ClientID
)
编辑:
您应该在事件处理程序中引用发送按钮:
void button_Click(object obj, EventArgs e) { Response.Write(((Button)obj).Parent.ID); }
- System.Web.Services.Protocols.SoapException:服务器无法识别HTTP标头SOAPAction的值:
- Azure Web应用程序服务,使用混合连接管理器使用HttpClient调用onpremise WEB API
- 在c#中添加或删除新记录后刷新gridview
- SignalR – 发送消息OnConnected
- 我可以创建一个流式传输pdf以供下载的Web服务
- ASP.Net C#ResolveClientUrl在Class中
- ASP.NET Membership.ValidateUser()始终返回“false”
- 在listview控件中进行分页
- 用Facebook登录C#