C# 我如何处理;FindControl要求控件具有唯一的ID“;当我想要相同名称的控件时?
我正在使用jquery/ajax创建一个带有一些文本框的模式窗口。然后,我使用jquery serialize将这些框中的信息发布回我的web表单codebehind 生成代码C# 我如何处理;FindControl要求控件具有唯一的ID“;当我想要相同名称的控件时?,c#,jquery,webforms,C#,Jquery,Webforms,我正在使用jquery/ajax创建一个带有一些文本框的模式窗口。然后,我使用jquery serialize将这些框中的信息发布回我的web表单codebehind 生成代码 t.Controls[i].Controls.Add(new TableCell()); t.Controls[i].Controls[2].Controls.Add(new Label { Text = getResXTextAutoInsert(Cache, "valueLable",
t.Controls[i].Controls.Add(new TableCell());
t.Controls[i].Controls[2].Controls.Add(new Label { Text = getResXTextAutoInsert(Cache, "valueLable", "EditDiscounts", getLanguage(), "Verdi") + " " });
t.Controls[i].Controls[2].Controls.Add(new TextBox() { Text = discount.DiscountAmmount.ToString(), ID = "discAmount"});
t.Controls[i].Controls[2].Controls.Add(new HiddenField() { Value = discount.DiscountId, ID = "discID" });
我希望当我执行一个请求[“discID”]时,我应该得到一个以逗号分隔的整数数组,其中包含我想要的ID,这正是我的调试器在页面加载中显示的内容
但是,web.form会遇到一个异常:
找到多个具有相同ID“discTypeDrop”的控件。FindControl要求控件具有唯一的ID
解决这个问题的唯一方法是为每个输入字段生成uniqeID,而不是将ID存储在hiddenfield中。但是我必须生成一些难看的代码来循环request.form并从keyname中提取ID,从value字段中提取值
关于如何解决这个问题,您有什么建议吗?您可以使用递归方式遍历所有控件及其子控件,并检查每个控件是否具有您要查找的属性/设置。您可以使用递归方式遍历所有控件及其子控件,并检查每个控件是否具有您需要的属性/设置您正在寻找它。我看不出这比请求所需的值更简单。我看不出这比请求所需的值更简单。