如何在数据列表中获得更改值的下拉列表
本文关键字:下拉列表 数据 列表 | 更新日期: 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函数就会起作用