我在asp.net页面上有一个DataList。在datalist的每一行,我有两个单选按钮(不是radiobuttonlist)。根据按下的单选按钮,它们在同一行上启用一些文本框并显示一些信息。两个单选按钮都绑定到同一个事件处理程序。
我的问题是,如何知道DataList的行号(索引)是按下单选按钮?
这是单选按钮事件处理程序的代码:
protected void RadioButton_CheckedChanged(object sender, EventArgs e)
{
try
{
RadioButton radioBtn = (RadioButton)sender;
if (radioBtn.Checked == true)
{
switch (radioBtn.ID)
{
case "RadioButton1":
//Enable some textboxes
//Show some info - Need to display the row number of the Datalist where the Radio buttons were pressed
break;
case "RadioButton2":
//Disable some texboxes
break;
}
}
}
}
答案 0 :(得分:3)
您可以使用NamingContainer获取父控件并获取其项目索引。
protected void RadioButton_CheckedChanged(object sender, EventArgs e)
{
DataListItem item = (DataListItem)((RadioButtonList)sender).NamingContainer;
Label1.Text = item.ItemIndex.ToString();
}