我正在尝试在部分帖子上填充下拉列表,不知道为什么它不起作用。
这有效,
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
populatemyDropDownList();
}
这不起作用,
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
populatemyDropDownList();
}
方案
* 我单击UpdatePanel_1中的button_1,然后触发部分回发(无页面刷新)并尝试填充UpdatePanel_2中的DropDownList *
当我调试时,我可以看到后面的代码方法是触发并通过这段代码但没有增益,我认为部分后期重置DropDownList ????
using (SqlDataSource sqlds = new SqlDataSource(ConnectionString(), SelectCommand()))
{
drop1.DataSource = sqlds;
drop1.DataTextField = "UserName";
drop1.DataBind();
}
答案 0 :(得分:1)
您可以使用
ScriptManager.GetCurrent(Page).IsInAsyncPostBack
检查您是否处于异步回发中。
但是,我不会在回发(或!IsPostBack
)和IsInAsyncPostBack
上依赖您的逻辑。相反,我会使用正确的事件。在这种情况下,您希望处理button_1
点击事件以填充DropDownList
中的UpdatePanel2
。
请注意,您应该UpdatePanel2
的UpdateMode Conditional
。然后,您可以在填写UpdatePanel2.Update()
后手动拨打DropDownList
。