我已经检查了stackoverflow中的每个问题。 :( 但似乎没有任何工作.. 我在事件中放置了一个断点而没有开火。
我希望你能得到解决方案 感谢
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:DropDownList AutoPostBack="true"
runat="server" ID="sel_area" class="select"
OnSelectedIndexChanged="sel_area_SelectedIndexChanged" EnableViewState="true">
</asp:DropDownList>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<Triggers>
<asp:AsyncPostbackTrigger ControlID="sel_area" EventName="SelectedIndexChanged" />
</Triggers>
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
这里是c#代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
destino = destinorfc();
tb_areas = mostrarAreas(destino);
for (int i = 0; i < tb_areas.Rows.Count; i++)
{
ListItem lst = new ListItem(Convert.ToString(tb_areas.Rows[i]["PEPCECO"]), Convert.ToString(tb_areas.Rows[i]["PEPCECO"]));
sel_area.Items.Insert(sel_area.Items.Count, lst);
}
}
}
public void sel_area_SelectedIndexChanged(object sender, EventArgs e)
{
Response.Write("llegué");
string ArtistId = sel_area.SelectedValue;
Response.Write("<script language=javascript>alert('" + ArtistId +"');</script>");
Label1.Text = ArtistId;
Console.WriteLine("llegueee");
//LoadComboAlbum(ArtistId);
}
答案 0 :(得分:0)
听起来你没有向你的组合框注册事件处理程序
将以下代码添加到设计器或Page_Load事件
中this.sel_area.SelectedIndexChanged +=
new System.EventHandler(sel_area_SelectedIndexChanged);
您也可以按照以下步骤执行此操作
1:选择你的组合框/下拉列表
2:转到属性
3:转到活动标签
4:on Selectedindexchanged Event添加处理程序
答案 1 :(得分:0)
就像其他人已经说过的那样,听起来你的DropDownList SelectedIndexChanged事件没有订阅你的事件处理程序。虽然我可以看到您在代码中完成了这些操作,但您可能会在某处丢失事件订阅。为了增加您对页面触发的事件顺序的理解,请查看其他SO问题和答案。
https://stackoverflow.com/a/11235074/2305468
另请注意,如果您选择了&#34; sel_area&#34;对象并将其替换为C#代码中的新DropDownList对象,您将丢失以前DropDownList实例中的所有订阅事件,因此请确保不要在任何地方完全替换它。