0

我正在以编程方式创建多行控件;每个都包含一个复选框和一个文本框。

我想以某种方式识别复选框的 id,以便它知道要删除哪个文本框。解决这个问题的最佳方法是什么?

4

2 回答 2

1

您创建了控件,因此您可以控制其名称。给它一个 GUID 或你制作的序列号。

但是......也许问题是所有权问题之一。您的问题意味着您只能按名称访问控件。由于您以编程方式创建了它,这意味着您对它有一个引用。因此,请保留对您创建的控件的引用。

现在,深入研究应用程序,如果您想删除它,这意味着您已经知道要删除什么,这就引出了一个问题,为什么您需要一个名字?

抱歉,如果这些不是您之后的答案,但我希望它们能提出有关设计的有用问题。

于 2012-09-21T09:56:13.777 回答
1

您可以组成某种命名模式,例如复选框的“cbx-[row num]”和文本框的“txt-[row num]”。

这样,您将拥有一组名为“cbx-1、cbx-2、cbx-3”的控件和名为“txt-1、txt-2、txt-3”的匹配文本框。为“cbx-X”找到匹配的“txt-X”应该很简单。

编辑:您可以使用 System.Web.UI.FindControl(string) 通过它的 id 属性来查找控件。

于 2012-09-21T10:00:11.667 回答