C# asp.net中的更新面板控件内未触发列表框事件
我想在选择ListBox的SelectedIndexChanged事件时从数据库加载记录。我没有在表单中使用更新面板控件,一切都很顺利。现在我想使用更新面板控件,这样我的表单就不会在每次从列表框中选择一个项目时回发。我试过了,但没有达到预期效果。请帮助我克服我面临的这个问题 .aspx代码C# asp.net中的更新面板控件内未触发列表框事件,c#,asp.net,C#,Asp.net,我想在选择ListBox的SelectedIndexChanged事件时从数据库加载记录。我没有在表单中使用更新面板控件,一切都很顺利。现在我想使用更新面板控件,这样我的表单就不会在每次从列表框中选择一个项目时回发。我试过了,但没有达到预期效果。请帮助我克服我面临的这个问题 .aspx代码 <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" > <ContentTe
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" >
<ContentTemplate>
<asp:ListBox ID="lstTest" runat="server" AutoPostBack="True" Width="450px" OnSelectedIndexChanged="lstTest_SelectedIndexChanged"></asp:ListBox>
<asp:TextBox ID="txtReport" runat="server"></asp:TextBox>
<asp:TextBox ID="txtImression" runat="server"></asp:TextBox>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="lstTest" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
也许你错过了aspx代码中的一个?我做了一个对我有用的小例子 ASPX代码
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:ListBox ID="ListBox1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ListBox1_SelectedIndexChanged"></asp:ListBox>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ListBox1" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
代码隐藏
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
// demo values
for (int i = 0; i < 10; i++)
{
ListBox1.Items.Add("value " + i);
}
}
}
protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Debug.WriteLine(ListBox1.SelectedItem);
}
受保护的无效页面加载(对象发送方,事件参数e)
{
如果(!Page.IsPostBack)
{
//演示值
对于(int i=0;i<10;i++)
{
列表框1.Items.Add(“值”+i);
}
}
}
受保护的无效列表框1\u SelectedIndexChanged(对象发送方,事件参数e)
{
Debug.WriteLine(ListBox1.SelectedItem);
}
如果我遗漏了任何内容,请告诉我。使用PostBackTrigger而不是AsyncPostBackTrigger。您的页面上是否有脚本错误?您能否验证您的
lstest\u SelectedIndexChanged(..)
是否已执行?我不太清楚是什么意思,但不会像预期的那样工作。我确实在页面上添加了ScriptManager。为什么会投反对票?请让我知道你认为什么是错误的/不合适的!
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
// demo values
for (int i = 0; i < 10; i++)
{
ListBox1.Items.Add("value " + i);
}
}
}
protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Debug.WriteLine(ListBox1.SelectedItem);
}