如何在数据列表中获得更改值的下拉列表

本文关键字:下拉列表 数据 列表 | 更新日期: 2023-09-27 18:02:35

html code:

<asp:DataList  ID="DataList1" runat="server" RepeatDirection="Horizontal" RepeatLayout="Flow" OnItemDataBound="DataList1_ItemDataBound" OnSelectedIndexChanged="DataList1_SelectedIndexChanged">
<ItemTemplate>
<asp:DropDownList ID="listedad" data-max="30"  runat="server" OnSelectedIndexChanged="DataList1_SelectedIndexChanged">

和我的代码后面:

protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
    {
int tedadkala = Convert.ToInt32(((DropDownList)e.Item.FindControl("listedad")).Text);
int gheymat =
 Convert.ToInt32(((Label)e.Item.FindControl("lblvahed")).Text);
int batedad = gheymat * tedadkala;
((Label)e.Item.FindControl("lblhesab")).Text = batedad.ToString();
((Label)e.Item.FindControl("lblhesab")).DataBind();
    }
    protected void DataList1_SelectedIndexChanged(object sender, EventArgs e)
    {    
    }

如何在数据列表中获得更改值的下拉列表

试试这个:

不要在pagload中直接做数据绑定,而是在一个函数中,在你需要运行ItemDataBound的地方调用它,就像这样…

//common function for databound
Public void databind()
{
     DataList1.DataSource = // ypur datasource
     DataList1.DataBind();
} 
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack) 
    {
        databind();
    }
}
//Do the necessary coding in DataList1_SelectedIndexChanged
Protected void DataList1_SelectedIndexChanged(Object sender, EventArgs e)   
{
    DropDownList ddl = (DropDownList)sender;
    //get whatever value you need
    databind();//Call To Function that binds To datalist
}

当你绑定到datalist时,itembound函数就会起作用