gpt4 book ai didi

c# - 如何引用动态创建的控件?

转载 作者:行者123 更新时间:2023-11-30 19:42:52 24 4
gpt4 key购买 nike

有没有一种方法可以在用户单击按钮或更改所选单选按钮时引用动态创建的控件,例如几个 TextBox 和一个 RadioButtonList。

我需要向数据库中插入一条记录,但我需要所有的值。我无法对控件进行硬编码,因为它们必须即时创建。

TextBox t1 = new TextBox();
PlaceHolder1.Controls.Add(t1);

TextBox t2 = new TextBox();
PlaceHolder1.Controls.Add(t2);

RadioButtonList rbList = new RadioButtonList();
rbList.Items.Add(new ListItem("Today", "1"));
rbList.Items.Add(new ListItem("This Week", "2"));
rbList.SelectedIndexChanged += new EventHandler(rbList_SelectedIndexChanged);

PlaceHolder1.Controls.Add(rbList);

我需要在 rbList_SelectedIndexChanged 或其他事件中引用两个文本框和 RadioButtonList。将 EventHandlers 添加到文本框对我没有好处,因为我需要将所有三个值插入到数据库中。

我最初的想法是以某种方式将文本框的引用传递给 rbList_SelectedIndexChanged 事件,但我不确定如何执行此操作,更不确定它是否有效。

如有任何帮助,我们将不胜感激。

最佳答案

我认为您可以使用 FindControl() 来完成此操作.您需要为后面的代码中的这些文本框设置一个 ID。

您可能在 rbList_SelectedIndexChanged 事件中引用了 PlaceHolder1。所以在事件中:

var TextBox1 = (TextBox)Placeholder1.FindControl("{text box 1 ID here}");
var TextBox2 = (TextBox)Placeholder1.FindControl("{text box 2 ID here}");

关于c# - 如何引用动态创建的控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16592956/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com