请帮我纠正这个错误。
发生错误,因为id为"ctl81"的控件无法在post后将不同的控件分配给相同的ID回来。如果未分配ID,则显式设置的ID属性引发post - back事件以避免此错误的控件
在点击asp按钮返回时发生此错误。页面中的所有控件都是动态生成的。我试图在页面源代码中找到此控件,但没有找到。
HtmlGenericControl td1 = new HtmlGenericControl("td");
TextBox txt1 = new TextBox();
txt1.ID = "toqty"+i.Tostring();
td.controls.add(txt1);
placeholder.controls.add(td);
由于单击按钮而发生错误,因此在单击按钮之前生成的控件可能已从相应的表单中清除。因此,我建议您通过在button_click()方法上固定一个断点来检查按钮单击后编写的方法或代码。
错误本身提到了解决方案。首先检查回发后是否仍将ID分配给控件。如果没有,显式设置ID属性以避免此错误
在我的情况下,类似的异常是由一个控件在Render方法中强制设置id属性,而没有将其id属性设置为相同的值引起的。
显然,AutoID模式有问题,从后面的代码ID不匹配呈现的ID属性。
我不喜欢改变渲染阶段,因为控件在一个巨大的项目中被广泛使用,许多功能依赖于它的工作。相反,我显式地设置了ID,以确保它是唯一的,并且与可以自动设置的任何内容不同。它帮助。