如果它存在于ListView ItemTemplate中,你如何获取导致回发的控件

时间:2012-09-11 15:09:38

标签: c# asp.net autopostback

我目前正在开展一个涉及从数据库中的问题列表中创建问卷的项目。我使用带分页的ListView控件来显示每个问题,并选择答案。选项是RadioButtons,启用了自动后备。

当单击radiobutton并导致回发时,我想获取与radiobutton相关联的文本并将其插入另一个记录每个问题的响应的数据库表。由于radiobutton在listview控件内,我不是确定如何处理回发。我需要帮助找到导致回发的radiobutton。我是ASP.Net的新手,请帮我解决这个问题。 感谢。

2 个答案:

答案 0 :(得分:2)

您可以使用事件处理程序的sender参数。例如,在CheckBox'CheckedChanged-event

void Check_Clicked(Object sender, EventArgs e) 
{
    var checkBox = (CheckBox) sender;
    String text = checkBox.Text;
}

这适用于每个事件,您始终可以通过sender获得引发该事件的控件的引用。

答案 1 :(得分:1)

RadioButton有一个CheckedChanged事件,可用于获取所需的文字。

示例:

<asp:RadioButton ID="radio1" runat="server"
  OnCheckedChanged="radio1_CheckedChanged" />

void radio1_CheckedChanged(object sender, EventArgs e)
{
   string text = ((RadioButton)sender).Text;
}

或者您可以使用控件ID:

void radio1_CheckedChanged(object sender, EventArgs e)
{
   string text = radio1.Text;
}