Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我如何处理;FindControl要求控件具有唯一的ID“;当我想要相同名称的控件时?_C#_Jquery_Webforms - Fatal编程技术网

C# 我如何处理;FindControl要求控件具有唯一的ID“;当我想要相同名称的控件时?

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",

我正在使用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", "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字段中提取值


关于如何解决这个问题,您有什么建议吗?

您可以使用递归方式遍历所有控件及其子控件,并检查每个控件是否具有您要查找的属性/设置。

您可以使用递归方式遍历所有控件及其子控件,并检查每个控件是否具有您需要的属性/设置您正在寻找它。

我看不出这比请求所需的值更简单。我看不出这比请求所需的值更简单。