Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果ListView ItemTemplate中存在导致回发的控件,那么如何获取该控件_C#_Asp.net_Autopostback - Fatal编程技术网

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

C# 如果ListView ItemTemplate中存在导致回发的控件,那么如何获取该控件,c#,asp.net,autopostback,C#,Asp.net,Autopostback,我目前正在从事一个项目,该项目涉及从数据库中的问题列表创建一份问卷。我使用带分页的ListView控件来显示每个问题及其答案的选择。这些选项是启用自动回邮功能的单选按钮 当单击radiobutton并导致回发时,我希望获取与radiobutton关联的文本,并将其插入另一个数据库表中,该数据库表记录每个问题的回答。由于radiobutton位于listview控件内,我不知道如何处理回发。我需要帮助找到导致回发的单选按钮。我是ASP.Net新手,请帮我解决这个问题。 谢谢。RadioButton

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

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

RadioButton
有一个事件,您可以使用它获取所需的文本

例如:

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

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

RadioButton
有一个事件,您可以使用它获取所需的文本

例如:

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

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

您可以使用事件处理程序的
sender
参数。例如,在
复选框中:


这适用于每个事件,您始终可以通过
sender

获取对引发该事件的控件的引用。您可以使用事件处理程序的
sender
参数。例如,在
复选框中:


这适用于每个事件,每次我单击有关asp.net和datagrids、GridView、List等的问题时,您都可以通过
sender

获得对引发该事件的控件的引用,@Tim Schmelter已经回答了它…+1每次我单击有关asp.net和datagrids的问题,GridView、List等您可以信赖的@Tim Schmelter已经回答了…+1谢谢。但是,我们处理listview内控件的CheckedChanged事件的方式与listview外控件的方式是否有区别?我问这个问题是因为我在某处读到FindControl方法在listview项模板中找不到控件。我想知道CheckedChanged的情况是否相同不
CheckedChanged
复选框
控件将调用的事件,不管它是否在列表视图中,您仍然可以将
发送者
转换为复选框。如果您正在处理listview事件,例如
ItemDataBound
,则此时必须使用FindControl来查找所需的复选框。否,处理事件的方式是相同的。不同之处在于,当一个控件位于另一个控件的模板(即ItemTemplate)内时,您需要使用FindControl(在本例中是在ListViewItem上)来访问它。非常感谢Alessadro和@DaveZych。成功了。你们救了我一天!谢谢。但是我们处理listview内控件的CheckedChanged事件的方式与listview外控件的方式有区别吗?我问这个问题是因为我在某处读到FindControl方法在listview项模板中找不到控件。我想知道CheckedChanged的情况是否相同不
CheckedChanged
复选框
控件将调用的事件,不管它是否在列表视图中,您仍然可以将
发送者
转换为复选框。如果您正在处理listview事件,例如
ItemDataBound
,则此时必须使用FindControl来查找所需的复选框。否,处理事件的方式是相同的。不同之处在于,当一个控件位于另一个控件的模板(即ItemTemplate)内时,您需要使用FindControl(在本例中是在ListViewItem上)来访问它。非常感谢Alessadro和@DaveZych。成功了。你们救了我一天!
void Check_Clicked(Object sender, EventArgs e) 
{
    var checkBox = (CheckBox) sender;
    String text = checkBox.Text;
}