带ID的LinkBut​​ton不会导致回发,没有

时间:2015-06-16 08:50:35

标签: c# asp.net

问题:
当我点击我的链接按钮时,表单被提交,但它没有执行回发功能。它也没有执行点击功能。这两个人根本没有被击中。

解决方法
从链接按钮中删除ID。在这种情况下,执行click函数。

<小时/> 该按钮通过以下代码动态添加:

LinkButton l = new LinkButton();
l.CssClass = "clause show-modalbox";
l.Click += clauseButton_Click;
l.Visible = true;
l.ID = "LinkButton_0";
l.Text = "C";

编辑:我将ID更改为静态字符串,以便在回发时保证ID相同。

编辑2:从下面的评论:我的Page_Init和Page_Load不会在回发时执行,但是当我省略按钮的ID时它们会被正确执行。

编辑3:我确信这个问题与我的代码有关,因为它并没有在其他页面上发生。因此,我遗漏了两个重要的细节:

  1. 该页面有一个母版页
  2. 内容已在更新面板内呈现
  3. 请参阅下面的答案以获得解决方案。

2 个答案:

答案 0 :(得分:3)

您必须使用与以前相同的ID,否则不会触发事件。

LinkButton l = new LinkButton();
l.CssClass = "clause show-modalbox";
l.Click += clauseButton_Click;
l.Visible = true;
l.ID = "LinkButton_" + consecutiveNumber.ToString();
l.Text = "C";

答案 1 :(得分:0)

我的问题的解决方案是在关联的母版页上存在一个脚本管理器,EnablePartialRendering = true。一旦我将其改为假,如下所示,这一切都有效。

<ajaxToolkit:ToolkitScriptManager ID="ScriptManagerMasterPage" runat="server" EnablePageMethods="true" EnablePartialRendering="false"></ajaxToolkit:ToolkitScriptManager>