我在LOAD事件中动态加载按钮:
lnkButton = new Button();
lnkButton.ID = "lnk1";
lnkButton.Text = "Test";
lnkButton.Click += new System.EventHandler(this.LinkButtonClick);
...
同时定义了事件:
protected void LinkButtonClick(object sender, System.EventArgs e)
{
//事件代码
}但运行时发现事件代码始终不起作用,此程序从VS2003中升级过来,在VS2003中运行没有问题。
请问各位高手,Why?
lnkButton = new Button();
lnkButton.ID = "lnk1";
lnkButton.Text = "Test";
lnkButton.Click += new System.EventHandler(this.LinkButtonClick);
...
同时定义了事件:
protected void LinkButtonClick(object sender, System.EventArgs e)
{
//事件代码
}但运行时发现事件代码始终不起作用,此程序从VS2003中升级过来,在VS2003中运行没有问题。
请问各位高手,Why?
也可以写在配置文件里
<configuration>
<system.web>
<pages autoEventWireup="true" />
</system.web>
</configuration>
楼主为什么要这样写:
lnkButton = new Button();
名字很刁
AutoEventWireup="true"
和
<configuration>
<system.web>
<pages autoEventWireup="true" />
</system.web>
</configuration>
还是不行
protected void Page_Load(object sender, EventArgs e)
{
if (!base.IsPostBack)
{
}
lnkButton = new Button();
lnkButton.ID = "lnk1";
lnkButton.Text = "Test";
lnkButton.Click += new System.EventHandler(this.LinkButtonClick);}
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title> <script runat="server">
protected void Page_Load( object sender, EventArgs e )
{
Button lnkButton = new Button();
lnkButton.ID = "lnk1";
lnkButton.Text = "Test";
lnkButton.Click += new System.EventHandler(this.LinkButtonClick);
form1.Controls.Add(lnkButton);
}
void LinkButtonClick( object sender, System.EventArgs e )
{
Response.Write("ok");
}
</script></head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
我的代码中按钮是加入到
<asp:table>
<asp:TableRow>
<asp:TableCell>
...//加入按钮
</asp:TableCell>
</asp:TableRow></asp:table>
中的,所有不起作用,有办法解决吗
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title> <script runat="server">
protected void Page_Load( object sender, EventArgs e )
{
Button lnkButton = new Button();
lnkButton.ID = "lnk1";
lnkButton.Text = "Test";
lnkButton.Click += new System.EventHandler(this.LinkButtonClick);
c.Controls.Add(lnkButton);
}
void LinkButtonClick( object sender, System.EventArgs e )
{
Response.Write("ok");
}
</script></head>
<body>
<form id="form1" runat="server">
<asp:Table ID="a" runat="server" BorderWidth="2">
<asp:TableRow ID="b" runat="server">
<asp:TableCell ID="c" runat="server">
</asp:TableCell>
<asp:TableCell ID="TableCell1" runat="server">都可以
</asp:TableCell>
</asp:TableRow>
</asp:Table>
</form>
</body>
</html>
lnkButton.Dispose();
但在VS2003中运行正常
谢谢各位高手,特别是net_lover