按钮未在用户控件中触发

时间:2014-07-28 10:12:55

标签: c# asp.net

我目前有一个母版页,其中有一个下拉菜单,根据菜单选项显示不同的用户控件。

在User控件内部我正在尝试添加一个提交按钮,使用“_Click()”事件处理程序处理用户控件中输入的表单。我的用户控件aspx如下所示:

<asp:Button ID="configBttn" runat="server" OnClick="configBttn_Click" AutoEventWireUp="true" />

然后我在codebehind中有以下内容:

   protected void Page_Load(object sender, EventArgs e)
   {


   }

   protected void configBttn_Click(object sender, EventArgs e)
   {
       Response.Write("Hello world");
   }

我甚至尝试添加一个事件处理程序:

configBttn.Click += new EventHandler(configBttn_Click)          

然而,这仍然不允许触发按钮。有任何想法吗?

我在div容器内的codebehind中添加了用户控件:

divContainer.Controls.Add(pPage.LoadControl("~/Controls/Control.ascx"));

2 个答案:

答案 0 :(得分:1)

您在页面生命周期中在哪里创建UserControl?

我怀疑它需要在其容器页面的Init方法中创建。

此外,它们不应该包含在!IsPostback块中,否则当页面回发时,控件事件处理程序未映射,因此没有任何内容可以捕获click事件。

答案 1 :(得分:0)

没有看到添加用户控件的代码,我猜它没有保存为页面视图状态的一部分。这意味着当您单击用户控件内的按钮时,整个页面将被刷新,并且未创建用户控件或创建其不同的实例。