C# Listbox导致文本框的单独回发
复制问题的步骤 首先,在文本框中键入文本,但不要键入enter。 然后,在列表框中选择其他索引。 最后,查看ID(listbox和textbox)将显示在eventtarget上 预期结果 eventtarget上只会显示一个ID,即在选定索引更改时初始化它的ID=listbox 代码如下:C# Listbox导致文本框的单独回发,c#,textbox,listbox,autopostback,C#,Textbox,Listbox,Autopostback,复制问题的步骤 首先,在文本框中键入文本,但不要键入enter。 然后,在列表框中选择其他索引。 最后,查看ID(listbox和textbox)将显示在eventtarget上 预期结果 eventtarget上只会显示一个ID,即在选定索引更改时初始化它的ID=listbox 代码如下: <TextBox ID="TextBox1" runat="server" AutoPostBack="True"></asp:TextBox> <ListBox ID="
<TextBox ID="TextBox1" runat="server" AutoPostBack="True"></asp:TextBox>
<ListBox ID="ListBox1" runat="server" AutoPostBack="True" onselectedindexchanged="ListBox1_SelectedIndexChanged">
<asp:ListItem Text="0" Value="0"></asp:ListItem>
<asp:ListItem Text="1" Value="1"></asp:ListItem>
<asp:ListItem Text="2" Value="2"></asp:ListItem>
</ListBox>
protected void Page_Load(object sender, EventArgs e){
if (IsPostBack)
{
string target = Request["__EVENTTARGET"] as string;
System.Windows.Forms.MessageBox.Show("__EVENTTARGET: " + target);
}
}
protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
受保护的无效页面加载(对象发送方、事件参数e){
如果(iPostBack)
{
字符串目标=请求[“\u EVENTTARGET”]作为字符串;
System.Windows.Forms.MessageBox.Show(“\uu事件目标:“+target”);
}
}
受保护的无效列表框1\u SelectedIndexChanged(对象发送方,事件参数e)
{
}
如果文本框的AutoPostBack
属性设置为true
,则文本框在失去焦点时将导致回发。这是故意的
因此,获取文本框的ID实际上是预期的行为。如果您不想这样,请考虑不要将文本框<代码>自动反版属性设置为<代码> Trase< /Cord>