请帮我纠正这个错误。
发生错误,因为ID为“ctl81”的控件无法执行 发布后,将相同的ID分配给不同的控件 背部。如果未分配ID,请显式设置ID属性 用于引发回发事件的控件以避免此错误
通过单击asp按钮在帖子上发生此错误。页面中的所有控件都是动态生成的。我试图在页面源中找到这个控件但是徒劳无功。
HtmlGenericControl td1 = new HtmlGenericControl("td");
TextBox txt1 = new TextBox();
txt1.ID = "toqty"+i.Tostring();
td.controls.add(txt1);
placeholder.controls.add(td);
答案 0 :(得分:3)
由于按钮单击导致出现错误,因此可能已从相应的表单中清除了在单击按钮之前生成的控件。因此,我建议您通过在button_click()方法上固定断点来查看按钮单击后写入的方法或代码。 试试这个,请回复。
答案 1 :(得分:1)
错误本身提到了解决方案。 首先检查在回发后是否仍将ID分配给控件。如果没有,请显式设置ID属性以避免此错误
答案 2 :(得分:0)
在我的情况下,类似的异常是由在Render方法中强制设置id属性的控件引起的,而没有将其ID属性设置为相同的值。
显然,AutoID模式存在以下问题:来自代码的ID与渲染的id属性不匹配。
我倾向于不更改渲染阶段,因为控件广泛用于大型项目中,许多功能依赖于它的工作原理。 相反,我已明确设置ID以确保它是唯一的,并且不同于可以自动设置的任何内容。它有所帮助。