SUS*_*SAN 3 .net c# asp.net drop-down-menu
我有一个dropdownlist控件,其中有一个正确触发的selectedindexchanged 事件.但是,从列表中选择项目时,返回到selectedindexchanged事件的索引值不会更改; 列表框弹出列表中的第一个项目.任何帮助,将不胜感激.〜苏珊〜
ASP DROP DOWN LIST控件:
<asp:DropDownList ID="CuisineList" runat="server" Width="100"
AutoPostBack = "true" onselectedindexchanged="CuisineList_SelectedIndexChanged" >
</asp:DropDownList>
Run Code Online (Sandbox Code Playgroud)
在PAGELOAD活动中控制数据:
protected void Page_Load(object sender, EventArgs e)
{
//Load drop down lists for restaurant selection
BLgetMasterData obj = new BLgetMasterData();
var cusineList = obj.getCuisines();
CuisineList.DataSource = cusineList;
CuisineList.DataBind();
CuisineList.Items.Insert(0, "Any");
Run Code Online (Sandbox Code Playgroud)
SELECTEDINDEXCHANGEDEVENT:
protected void CuisineList_SelectedIndexChanged(object sender, EventArgs e)
{
if (IsPostBack)
{
string def = this.CuisineList.SelectedItem.Value;
//aLWAYS returns index '0'
}
}
Run Code Online (Sandbox Code Playgroud)
Muh*_*tar 15
您需要将您的Dropdownlist绑定代码放在!IsPostBack()page_load事件中.喜欢...
protected void Page_Load(object sender, EventArgs e) {
if(!IsPostBack)
{
BLgetMasterData obj = new BLgetMasterData();
var cusineList = obj.getCuisines();
CuisineList.DataSource = cusineList;
CuisineList.DataBind();
CuisineList.Items.Insert(0, "Any");
}
}
Run Code Online (Sandbox Code Playgroud)
原因:每当您的SelectedIndexChange事件触发时,Page_load事件都会在SelectedIndexChange事件和您的下拉数据之前调用rebinded,这就是您的原因currect selection was lost.
| 归档时间: |
|
| 查看次数: |
7143 次 |
| 最近记录: |