gpt4 book ai didi

c# - 下拉列表重置为第一项并且不返回选定值

转载 作者:行者123 更新时间:2023-11-30 20:10:23 26 4
gpt4 key购买 nike

所以我有一个国家/地区下拉列表和一个状态下拉列表,它们是根据所选国家/地区动态填充的。当我单击该国家/地区时,状态下拉列表填充得很好但是当我从另一个下拉列表中单击一个值(状态)时出现问题,列表而不是保留所选项目将返回到列表的第一项并且没有选择值显示出来。

<td><asp:DropDownList ID="ddlState" runat="server"
DataSourceId="dsStateList"
DataTextField="state_nm"
DataValueField="state_cd"
OnSelectedIndexChanged="ddlState_SelectedIndexChanged"
AutoPostBack="true"
AppendDataBoundItems="true"
Width="160px" OnDataBound="ddlState_OnDataBound">
</asp:DropDownList>
</td>

<asp:DropDownList ID="ddlCountry" runat="server"
DataSourceId="dsCountryList"
DataTextField="COUNTRY_NAME"
DataValueField="COUNTRY_CIA_ID"
OnSelectedIndexChanged="ddlCountry_SelectedIndexChanged"
OnDataBound="ddlCountry_OnDataBound"
AutoPostBack="true"
AppendDataBoundItems="true"
Width="160px">
</asp:DropDownList>


protected void ddlState_SelectedIndexChanged(object sender, EventArgs e)
{
string comboStateCODE = ddlState.SelectedValue;
dsCompanyListParam.Text = comboStateCODE;
ddlCountry.DataBind();
ddlState.DataBind();
}

protected void ddlState_OnDataBound(object sender, EventArgs e)
{
ddlState.Items.Insert(0, "Please Select a State");
}
protected void ddlCountry_SelectedIndexChanged(object sender, EventArgs e)
{
ddlState.Items.Clear();
dsStateList.SelectParameters["iCountryID"].DefaultValue = ddlCountry.SelectedValue;

dsCompanyListParam.Text = ddlCountry.SelectedValue;
Trace.Warn("ddlCountry_SelectedIndexChanged");

ddlCountry.DataBind();
ddlState.DataBind();

}
protected void ddlCountry_OnDataBound(object sender, EventArgs e)
{
ddlCountry.Items.Insert(0, "Please Select a Country");
}

最佳答案

我假设您在 Page_Load() 的某处调用了填充下拉列表的方法...您需要将其封装到 IF !PostBack block 中:

// somewhere in PageLoad()...
If(!IsPostBack)
{
PopulateDropdown();
}

使用上面的约定,下拉列表只会在第一次页面加载时填充。我怀疑正在发生的事情是,当您从其他下拉列表中进行选择时,AutoPostBack 正在执行 Page_Load() 方法(它应该如此)并再次重新填充下拉列表。

使用上面的约定应该有助于避免这种情况。

关于c# - 下拉列表重置为第一项并且不返回选定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5157362/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com