0

我有一个 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 ?

请帮忙。

4

3 回答 3

4

您是否在代码隐藏中实现了单击事件处理程序?

protected void Button1_Click(Object sender, EventArgs e)
{
    Button btn = (Button)sender;
}

Button.Click 事件

我不知道这个问题与您的动态控制 问题有什么关系,因为Button1它是以声明方式添加的。

于 2012-04-25T12:33:21.087 回答
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 的单击事件上调用函数 Button1_Click。在这种情况下,我必须手动创建函数Button1_Click,即不仅仅是双击设计页面。

于 2012-04-26T09:51:53.137 回答
-2

您要动态添加的控件,您必须在页面加载时添加它。

然后它会正常工作。

于 2012-04-25T13:00:30.893 回答