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



我目前正在进行一个项目,该项目涉及从数据库中的问题列表创建一份调查问卷。我使用带有分页的ListView控件来显示每个问题及其答案的选择。这些选项是启用了自动备份的单选按钮。

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

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

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

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

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;
}

最新更新