好的,所以我对html和网络非常陌生。现在,我正在尝试动态生成列表项目,然后让它们返回到web服务器,这样我就知道这个人想要获得什么了。
下面是生成列表项的代码:
foreach (var item in dataList) {
MyDataList.InnerHtml += "<li><a runat='server' onclick='li_Click' id='" + item.Name + "-button'></a></li>";
}向下我有我的点击事件。
protected void li_Click(object sender, EventArgs e) {
//How do I determine here which item was actually clicked?
}我的问题是如何确定单击了哪些列表项?
顺便说一下,后面运行的代码是C#。
编辑1
LinkButton link = new LinkButton();
link.ID = "all-button";
link.Text = "All";
link.Click += new EventHandler(link_Click);
MyDataList.Controls.Add(link);下面是我的link_Click事件,它似乎从来没有碰到过断点。
void link_Click(object sender, EventArgs e) {
if (sender != null) {
if (sender.GetType() == typeof(LinkButton)) {
LinkButton button = (LinkButton)sender;
if (button.ID == "all-button") {
}
}
}
}我知道这是可能的,我只是不知道我错过了什么。
编辑2
好吧我想我知道问题出在哪里了。我试图在另一个列表中添加第二个列表。这导致了整件事都有问题。现在起作用了。
发布于 2012-07-02 22:36:32
下面是一个使用LinkButtons的示例。
代码背后:
for (int i = 0; i < 10 ; i++)
{
LinkButton link = new LinkButton() { ID = "link_" + i };
link.Text = "Link " + i;
link.Click+=new EventHandler(link_Click);
this.Form.Controls.Add(link);
}
protected void link_Click(object sender, EventArgs e)
{
//Every time a link is clicked it will get here in the server side
}祝好运!
https://stackoverflow.com/questions/11301962
复制相似问题