我有一个ASP.WebSite,我在其中使用
在aspx.cs上动态添加了一些表单控件form1.Controls.Add( " Object of Control ");
另外一个已经使用
在aspx文件中的表单上添加了一个按钮<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Add" UseSubmitBehavior="false" />
现在当我运行程序时,它将Button1转换为HTML提交按钮,如下所示
<input type="button" name="Button1" value="Add" onclick="javascript:__doPostBack('Button1','')" id="Button1" />
,表单标记变为
<form name="form1" method="post" action="Add1.aspx" id="form1" enctype="multipart/form-data">
当我单击Button1时,它会提交表单,而不是在Code Behind上调用该函数。
我如何调用Button1的OnClick事件上指定的方法 Button1_Click ?
请帮助。
答案 0 :(得分:4)
您是否在代码隐藏中实现了单击事件处理程序?
protected void Button1_Click(Object sender, EventArgs e)
{
Button btn = (Button)sender;
}
我不知道这个问题是如何与您的动态控制问题相关的,因为Button1
是以声明方式添加的。
答案 1 :(得分:1)
我已经动态添加了按钮控件,如下所示:
b1.ID = "EDIT";
b1.Text = "Add";
b1.Click +=new System.EventHandler(this.Button1_Click);
b1.Style["Position"] = "Absolute";
b1.Style["Top"] = "10px";
b1.Style["Left"] = "20px";
form1.Controls.Add(b1);
它现在在Button1的click事件上调用函数Button1_Click。 在这种情况下,我必须手动创建函数 Button1_Click ,即不要只是双击设计页面。
答案 2 :(得分:-2)
您要动态添加的控件,您必须在页面加载时添加它。
然后它会正常工作。