访问动态创建的控件C#asp.net的值(Accessing value of dynamicall

2019-08-16 22:59发布

我试图访问一个选择的单选按钮的值。 我的单选按钮的按分头分隔列表(所以为什么我还没有使用的单选列表)

我不知道如何为我不知道叫什么名字它与它是动态给出访问选定的值。

以下代码是在for循环中,并输出无线电选项。 所有的选项都是一个需要用户选择。

//add list to radio button list
RadioButton button1 = new RadioButton { 
GroupName = "myGroup", 
Text = singleType.appTypeName, 
ID = singleType.appTypeID.ToString() 
};
radioArea.Controls.Add(button1);
myLabel = new Label();
myLabel.Text = "<br />";
radioArea.Controls.Add(myLabel);

这是我尝试如何访问它:

RadioButton myButton = (RadioButton) radioArea.FindControl("myGroup");

我知道这应该是很简单的,但在很多PHP的心态我还在和欣赏任何帮助。

谢谢

Answer 1:

你好喜欢你是在单选按钮控件的各种属性做什么以及如何正确生成的单选按钮有点混乱它的声音给我。

ID属性在这里是关键。

你应该将id属性设置为唯一的字符串,你再使用访问上回发的控制。

的组名仅仅是一个单选按钮的标准名称属性的别名并用于所以当用户点击只有一个无线电按钮可以被选择的组中的单选按钮。

例如:

//add list to radio button list
RadioButton radioButton = new RadioButton();
radioButton.GroupName = "radioGroup";
radioButton.Text = singleType.appTypeID.ToString();
radioButton.ID = singleType.appTypeName;

radioArea.Controls.Add(radioButton);

Label label = new Label();
label.Text = "<br />";
radioArea.Controls.Add(label);

在上面的例子中,我分配singleType.appTypeName作为ID,假设这是唯一的。

然后以检索上回发的值做到这一点,那assumnig = singleType.appTypeName“mySuperApp”:

RadioButton radioButton = (RadioButton) radioArea.FindControl("mySuperApp");

现在,您可以访问单选按钮变量来检查该组名有,得到它的价值和检查检查。

您需要遍历所有的单选按钮来找出哪一个被选中。 这样做的一个简单的方法是循环在radioArea的子控件和检查EACK控制,看它是否是一个单选按钮,如果它被选中。 另一个选项是给每个ID的前缀即ID =“RAD _” + singleType.appTypeName和循环在请求对象并匹配每一个与正确的后缀。



Answer 2:

所述FindControl方法使用的是,希望你将它传递的ID已分配时创建它来控制。

因此,对于您的示例RadioButton.ID应等于singleType.appTypeID.ToString()

希望这可以帮助。



文章来源: Accessing value of dynamically created controls c# asp.net