我创建了一个页面,为管理员提供了一种更改照片信息(例如标题、描述等)的方法。页面上的所有控件都是动态添加的,因为我有多个照片库。
面板 --> 父级。
button .
标题文本框。
描述文本框。
在每个面板中,我都有一个按钮,单击该按钮会将更改后的信息发送到存储照片信息的服务器(Flickr)。该按钮的单击事件是动态添加的,我想知道是否可以获取我刚刚单击的按钮的父级。
这是我添加所有控件的代码:
//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
)
Edit:
您应该在事件处理程序中引用发送按钮:
void button_Click(object obj, EventArgs e)
{
Response.Write(((Button)obj).Parent.ID);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)