2013-04-07 92 views
0

我有一个radiobuttonlist我改变所选择的项目中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; 
    } 
} 

时所选择的项目更改上述方式,后来postback到服务器触发selectedindexchanged事件。
特别是我有listview,它显示imagebuttons。当我点击listview的ImageButton的,如果选择的项目更改然后ImageButton的后点击触发selectedinexchanged事件的radiobuttonlist ..
这究竟是为什么我不希望这会触发该事件..

+0

问题太模糊了解?请更具体一点。 – 2013-04-07 12:18:49

+0

实际上问题在于以编程方式更改所选项目。如何有效地改变radiobuttonlist.items []。selected属性?当它触发selectedindexchanged事件? – spiral 2013-04-07 12:22:50

回答

0

我不完全确定你想要达到的目标。但好像你需要处理一些逻辑上的OnSelectedIndexChanged事件您RadioButtonList

首先设置AutoPostBack="true"财产上的RadioButtonList

然后在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

当我更改SELECTED = TRUE PROPETY,然后点击其他按钮,然后返回服务器触发器,这个事件... – spiral 2013-04-07 13:10:26

+0

检查我自己的答案,并确切地告诉我视图状态是如何做到这一点的?我仍然不确定什么是错的 – spiral 2013-04-07 14:27:13

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; 
    } 

} 

我清除列表,然后补充说方式,生龙活虎与只是改变了选择= true属性所产生的视图状态问题的新条目.. :)

相关问题