2013-04-07 1 views
0

내가 선택한 항목은 나중에 postback 서버로, 위의 방법이 변경 될 때 나는 codebehidradiobuttonlist의 SelectedIndexChanged 이벤트 예상치 못한

private void DisplayPrivacyTerms(long ImageId) 
{ 
    if (ImageryDataAccess.GetImagePrivacyTerm(ImageId).ToLower() == "me only") 
    { 
     RadioButtonListPrivacy.Items[0].Selected = true; 
    } 
    if (ImageryDataAccess.GetImagePrivacyTerm(ImageId).ToLower() == "friends") 
    { 
     RadioButtonListPrivacy.Items[1].Selected = true; 
    } 
    if (ImageryDataAccess.GetImagePrivacyTerm(ImageId).ToLower() == "public") 
    { 
     RadioButtonListPrivacy.Items[2].Selected = true; 
    } 
} 

의 선택 항목을 변경 radiobuttonlistselectedindexchanged 이벤트를 트리거합니다.
특히 listviewimagebuttons입니다. 나는 listview으로하여 ImageButton을 클릭하고 선택한 항목은 다음 변경하면하여 ImageButton에 나중에 클릭이 radiobuttonlistselectedinexchanged 이벤트를 .. 트리거 할 때
는 왜이 기대하지 않는 이런 일이 ..이 이벤트를 트리거한다

+0

질문이 너무 이해하기가 막연합니까? 좀 더 구체적으로 말씀 해주십시오. –

+0

실제로 선택한 항목을 프로그래밍 방식으로 변경하면 문제가 발생합니다. radiobuttonlist.items []. selected 속성을 효과적으로 변경하는 방법? 선택한 인덱스가 변경된 이벤트를 트리거 할 때? – spiral

답변

0

나는 당신이 성취하려는 것을 완전히 모르고있다. 당신의 OnSelectedIndexChanged 이벤트에 그런 다음 RadioButtonList

RadioButtonList

먼저 설정합니다 AutoPostBack="true" 속성의 OnSelectedIndexChanged 이벤트에 대한 몇 가지 논리를 처리하는 로직을 작성해야처럼하지만 보인다.

protected void RadioButtonListPrivacy_SelectedIndexChanged(object sender, System.EventArgs e) 
{ 
    // your logic here 
    // so basically when you click on any of the items in your radiobuttonlist, 
    // this event will fire and you can write your logic based on it 
} 
+0

내가 선택한 것을 변경하면 = TRUE 프로퍼티 그런 다음 서버가이 이벤트에 응답하지 않는 다른 버튼을 클릭하면 ... – spiral

+0

위의 내 자신의 대답을 확인하고 viewstate가 그 트릭을 어떻게 수행하는지 정확하게 말해 주시겠습니까? 나는 정확히 무엇이 틀렸는 지 아직도 확신하지 못한다. – spiral

0

실제로 문제는 내가 aspx 페이지에서 항목을 선언적으로 초기화했다는 것이 었습니다. 나는 다음과 같은

private void DisplayPrivacyTerms(long ImageId) 
     { 
    RadioButtonListPrivacy.Items.Clear(); 
    ListItem itemMe= new ListItem("Me Only", "1"); 
    RadioButtonListPrivacy.Items.Add(itemMe); 
    ListItem itemMates = new ListItem("Subject Mates", "2"); 
    RadioButtonListPrivacy.Items.Add(itemMates); 
    ListItem itemPublic = new ListItem("Public", "3"); 
    RadioButtonListPrivacy.Items.Add(itemPublic); 

    if (ImageryDataAccess.GetImagePrivacyTerm(ImageId).ToLower() == "me only") 
    { 
     RadioButtonListPrivacy.Items[0].Selected = true; 
    } 
    if (ImageryDataAccess.GetImagePrivacyTerm(ImageId).ToLower() == "subject mates") 
    { 
     RadioButtonListPrivacy.Items[1].Selected = true; 
    } 
    if (ImageryDataAccess.GetImagePrivacyTerm(ImageId).ToLower() == "public") 
    { 
     RadioButtonListPrivacy.Items[2].Selected = true; 
    } 

} 
나는 목록을 삭제하고 그냥 선택 = 진정한 속성을 변경하여 발생 된 viewstate가 문제를 클리어 방식으로 새 항목을 추가

같은 코드에 문제가 기능을 변경 .. :)