动态地将id分配给控件 - 控件位于asp .net中的datalist控件内 [英] dynamically assign id to controls - controls are inside datalist controls in asp .net
问题描述
嗨frnds,
我使用datalist来显示数据。数据是4个选项的测试题。我有50个问题在datalist中显示。
通过使用ItemDataBound事件 - 我只向用户显示一个带有4个选项的问题。剩下的问题是看不见的。在Itemdatabound事件中 - 我正在为单选按钮分配id。但是id也没有分配给datalist,它显示不同的id。
if (e.Item .ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
HiddenField HdSlNo =(HiddenField)e.Item.FindControl( HdSlNo);
RadioButton Option1 =(RadioButton)e.Item.FindControl( Option1);
RadioButton Option2 =(RadioButton)e.Item.FindControl( Option2);
RadioButton Option3 =(RadioButton)e.Item.FindControl( Option3);
RadioButton Option4 =(RadioButton)e.Item.FindControl( Option4);
RadioButton Option5 =(RadioButton)e.Item.FindControl( Option5);
Option1.ID = rdbtnoption1 _ + HdSlNo.Value.ToString( );
Option2.ID = rdbtnoption2 _ + HdSlNo.Value.ToString();
Option3.ID = rdbtnoption3 _ + HdSlNo.Value.ToString();
Option4.ID = rdbtnoption4 _ + HdSlNo.Value.ToString();
Option5.ID = rdbtnoption5 _ + HdSlNo.Value.ToString();
}
谢谢,
Suresh
在itemDataBound事件上,只需将问题ID和选项ID分配给单选按钮控件。
或者您可以使用for循环来迭代选项/ question并将项目索引值分配给控件。
请记住,将出现不同的ID,因为每个数据列表项中的控件都需要一个唯一的ClientID,所以正确生成html并且视图状态有效。
- 可以创建一个新的动态控件并重命名
- 但
DataList
将不允许您重命名在ItemTemplate中定义的现有控件
ID
看看这个 http://stackoverflow.com/a/18976091 [ ^ ]
Hi frnds,
I am using datalist for showing datas. Datas are test questions with 4 options.I have 50 questions displaying in datalist.
By using ItemDataBound event - i am making visible only one question with 4 options to user. Remaining questions are invisible . In the Itemdatabound event - i am assigning id to the radio buttons. but also id is not assigned to the datalist ,it showing different id.
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
HiddenField HdSlNo = (HiddenField)e.Item.FindControl("HdSlNo");
RadioButton Option1 = (RadioButton)e.Item.FindControl("Option1");
RadioButton Option2 = (RadioButton)e.Item.FindControl("Option2");
RadioButton Option3 = (RadioButton)e.Item.FindControl("Option3");
RadioButton Option4 = (RadioButton)e.Item.FindControl("Option4");
RadioButton Option5 = (RadioButton)e.Item.FindControl("Option5");
Option1.ID = "rdbtnoption1_" + HdSlNo.Value.ToString();
Option2.ID = "rdbtnoption2_" + HdSlNo.Value.ToString();
Option3.ID = "rdbtnoption3_" + HdSlNo.Value.ToString();
Option4.ID = "rdbtnoption4_" + HdSlNo.Value.ToString();
Option5.ID = "rdbtnoption5_" + HdSlNo.Value.ToString();
}
Thanks,
Suresh
On itemDataBound event just assign the question id and option id to the radio button controls.
Or you can use for loop to iterate over the options/questions and assign the item index value to the control.
Bear in mind that different IDs will appear because the controls inside each Data List item will need a unique ClientID so the html is generated correctly and view state works.
- It is possible to create a new dynamic control and to rename it
- but the
DataList
will not allow you to rename the existing controlID
that is defined inside theItemTemplate
have a look at this http://stackoverflow.com/a/18976091[^]
这篇关于动态地将id分配给控件 - 控件位于asp .net中的datalist控件内的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!