![](/img/trans.png)
[英]Selected Index Changed event not firing for a DropDownList during databind at pageload
[英]call dropdownlist selected index changed event manually
我有一个下拉列表,填写页面加载事件。
private void FillSponsor()
{
ddlSponsor.DataSource = Db.VCT_SPONSORs.Where(x => x.IS_ACTIVE.GetValueOrDefault() && x.IS_APPROVED.GetValueOrDefault());
ddlSponsor.DataBind();
}
现在我想要的是将其他下拉列表与上面下拉列表的第一个值绑定。 我的第二次下拉是:
protected void ddlSponsor_SelectedIndexChanged(object sender, EventArgs e)
{
ddlDivision.DataSource = Db.VCT_SPONSOR_DIVISIONs.Where(x => x.SPONSOR_ID==SponsorID);
ddlDivision.DataBind();
ddlDivision.Items.Insert(0, new ListItem("All", "0"));
}
我的问题是如何从FillSponsor方法调用ddlSponsor_SelectedIndexChanged事件。 我的两个下拉列表都在更新面板中。
你的意思是你怎么称呼这个方法?
ddlSponsor_SelectedIndexChanged(this, EventArgs.Empty);
您可以使用DateBound事件。 喜欢...
protected void ddlSponsor_DataBound(object sender, EventArgs e)
{
ddlDivision.DataSource = Db.VCT_SPONSOR_DIVISIONs.Where(x => x.SPONSOR_ID==SponsorID);
ddlDivision.DataBind();
ddlDivision.Items.Insert(0, new ListItem("All", "0"));
}
我相信你的主要问题是在单独的更新面板中进行控制。
http://forums.asp.net/t/1426233.aspx
该链接的代码示例:
<asp:UpdatePanel runat="server" ID='asdsd' UpdateMode="Conditional">
<ContentTemplate>
...DropDownList1...
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID='DropDownList2' EventName='SelectedIndexChanged' />
</Triggers>
我相信你所追求的是AsyncPostBackTriggers,并且不要忘记UpdateMode =“Conditional”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.