2016-08-15 4 views
-1

html 코드 :데이터리스트에서 변경된 값 드롭 다운리스트를 얻는 방법은 무엇입니까?

<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) 
    {  

    } 
+0

페이지로드가 걱정스러운 경우에만 드롭 다운 목록을 변경 한 후 : –

+0

dropdown_textchange 이벤트를 사용할 수 없습니다. 데이터 목록에 becuse가 있습니다. 정말 필요합니다. 도움 –

답변

0

이 시도 대신 pageload에 데이터 바인딩을하고 직접 기능에 넣어의

을하고 전화를 어디에 이제까지 당신을 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 함수가 작동합니다