页面添加一个Panel
<form id="form1" runat="server">
<div>
<asp:Panel ID="Panel1" runat="server" Height="50px" Width="125px">
</asp:Panel>
</div>
</form>
然后后台实现动态添加LinkButton,并调用MyClick()
protected void Page_Load(object sender, EventArgs e)
{
LinkButton[] lb = new LinkButton[4];
for (int i = 0; i < 4; i++)
{
lb[i] = new LinkButton();
lb[i].ID ="lb"+ i.ToString();
lb[i].Text = "这是动态添加的LinkButton" + i.ToString();
lb[i].Click += new EventHandler(MyClick);//委托
Panel1.Controls.Add(lb[i]);
}
}
//这里再在页面添加一个Panel,在Panel上再动态添加LinkButton,调用MyClick2()
private void MyClick(object sender, EventArgs e)
{
//LinkButton lbb = (LinkButton)sender;
Panel panel = new Panel();
form1.Controls.Add(panel);
LinkButton[] lbClick = new LinkButton[4];
for (int i = 0; i < 4; i++)
{
lbClick[i] = new LinkButton();
lbClick[i].ID = "lbClick" + i.ToString();
lbClick[i].Text = "这是动态添加的LinkButton产生的Panel上面再动态添加的LinkButton" + i.ToString();
lbClick[i].Click += new EventHandler(MyClick2);//委托
panel.Controls.Add(lbClick[i]);
}
}
private void MyClick2(object sender, EventArgs e)
{
Response.Write("这个事件触发不了,请达人赐教该怎么实现这个效果,能够触发这个事件,万分感激!");
}
可能用这样的方法实现不了这样的效果,但是其他方法我不会,还希望高手赐教。。多谢拉。。
就是动态添加的控件触发事件再动态添加控件,然后再触发事件,要能传参数。。
跪求方法,在线等。
<form id="form1" runat="server">
<div>
<asp:Panel ID="Panel1" runat="server" Height="50px" Width="125px">
</asp:Panel>
</div>
</form>
然后后台实现动态添加LinkButton,并调用MyClick()
protected void Page_Load(object sender, EventArgs e)
{
LinkButton[] lb = new LinkButton[4];
for (int i = 0; i < 4; i++)
{
lb[i] = new LinkButton();
lb[i].ID ="lb"+ i.ToString();
lb[i].Text = "这是动态添加的LinkButton" + i.ToString();
lb[i].Click += new EventHandler(MyClick);//委托
Panel1.Controls.Add(lb[i]);
}
}
//这里再在页面添加一个Panel,在Panel上再动态添加LinkButton,调用MyClick2()
private void MyClick(object sender, EventArgs e)
{
//LinkButton lbb = (LinkButton)sender;
Panel panel = new Panel();
form1.Controls.Add(panel);
LinkButton[] lbClick = new LinkButton[4];
for (int i = 0; i < 4; i++)
{
lbClick[i] = new LinkButton();
lbClick[i].ID = "lbClick" + i.ToString();
lbClick[i].Text = "这是动态添加的LinkButton产生的Panel上面再动态添加的LinkButton" + i.ToString();
lbClick[i].Click += new EventHandler(MyClick2);//委托
panel.Controls.Add(lbClick[i]);
}
}
private void MyClick2(object sender, EventArgs e)
{
Response.Write("这个事件触发不了,请达人赐教该怎么实现这个效果,能够触发这个事件,万分感激!");
}
可能用这样的方法实现不了这样的效果,但是其他方法我不会,还希望高手赐教。。多谢拉。。
就是动态添加的控件触发事件再动态添加控件,然后再触发事件,要能传参数。。
跪求方法,在线等。
解决方案 »
- TypeError: 'Ext.getCmp(...)' 为空或不是对象,麻烦看看
- 引发类型为“System.Web.HttpUnhandledException”的异常
- ASP.NET(C#)如何实现动态曲线图
- babyrockxray(Game~Over),sp1234
- 如何让web设计器运行javascript脚本,高手请进~~~~~~
- 求救呀!asp.net button_clik()没有反应搞了一天没找到原因,。
- 过程服务器不能连接,求助怎么回事
- GridView输出Excel
- 计算机散件市场报价系统??谁会做.各位大哥大姐帮帮小弟~~!
- 新手问题??
- 50分,谁有eWebEditor V4.6的无限版本共享一把!!
- ListBox控件和DropdownList控件的问题呢?
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<asp:Panel ID="Panel1" runat="server">
</asp:Panel>
<br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="测试其它控件状态" />
</form>
</body>
</html>
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections.Generic;public partial class _Default : System.Web.UI.Page
{
private List<string> ClickedPanelsID
{
get
{
if (ViewState["clicked"] == null)
ViewState["clicked"] = new List<string>();
return (List<string>)ViewState["clicked"];
}
} protected void Page_Load(object sender, EventArgs e)
{
for (int i = 0; i < 4; i++)
{
if (i > 0)
Panel1.Controls.Add(new LiteralControl("<br />"));
LinkButton lb = new LinkButton();
lb.ID = "lb" + i.ToString();
lb.Text = "这是动态添加的LinkButton" + i.ToString();
lb.Click += new EventHandler(MyClick);//委托
Panel1.Controls.Add(lb);
}
foreach (string s in ClickedPanelsID)
AddOnePanel(s);
} private void MyClick(object sender, EventArgs e)
{
AddOnePanel(null);
} private void AddOnePanel(string ID)
{
Panel panel = new Panel();
if (ID == null)
{
panel.ID = "panel_" + panel.GetHashCode().ToString();
ClickedPanelsID.Add(panel.ID);
}
else
{
panel.ID = ID;
}
form1.Controls.Add(panel);
panel.Controls.Add(new LiteralControl("<hr />"));
for (int i = 0; i < 4; i++)
{
if (i > 0)
panel.Controls.Add(new LiteralControl("<br />"));
LinkButton lbClick = new LinkButton();
lbClick.ID = "lbClick" + i.ToString() + "_in_" + panel.ID;
lbClick.Text = "这是动态添加的LinkButton产生的Panel上面再动态添加的LinkButton" + i.ToString();
lbClick.Click += new EventHandler(MyClick2);//委托
panel.Controls.Add(lbClick);
}
} private void MyClick2(object sender, EventArgs e)
{
string scp = "alert('事件触发');";
this.ClientScript.RegisterStartupScript(this.GetType(), scp.GetHashCode().ToString(), scp, true);
} protected void Button1_Click(object sender, EventArgs e)
{
}
}
private List<string> ClickedPanelsID我不懂,是什么索引器么?list又是什么,请教