我无法从单选按钮列表中获取单选按钮以在IF语句中被选中。当IF为真时,其他一切都正常工作,除此之外。 Request Pending是默认值,但是当IF为True时,我需要能够选择“Waiting for Approval”按钮。
我的HTML代码是:
<asp:RadioButtonList ID="rbGiftStatus" RepeatDirection="Horizontal"
runat="server" TabIndex="3">
<asp:ListItem Text="Request Pending" Selected="True" Value="1"></asp:ListItem>
<asp:ListItem Text="Check Pending" Value="2"></asp:ListItem>
<asp:ListItem Text="Completed" Value="3"></asp:ListItem>
<asp:ListItem Text="Waiting for Approval" Value="4"></asp:ListItem>
</asp:RadioButtonList>
我的C#是这样的:
rbGiftStatus.SelectedIndex = 4;
我尝试过其他方式:
rbGiftStatus.Text = "4";
rbGiftStatus.SelectedItem = "4";
rbGiftStatus.SelectedValue = "4";
它们似乎都没有用,我无法弄明白为什么
答案 0 :(得分:2)
SelectedIndex是正确的方法:Set Radiobuttonlist Selected from Codebehind
但是,您使用的SelectedIndex为4,超出了数组的范围。 C#是基于0的索引,因此第一项是索引0.这将使您的第4项索引为3。
rbGiftStatus.SelectedIndex = 3;
应该这样做。
答案 1 :(得分:2)
您可以尝试使用
rbGiftStatus.SelectedIndex = 3; //index max is 3 for 4 elements
答案 2 :(得分:2)
索引以0而不是1开头。因此,如果RBL中有4个项目,则索引范围将为0-3。在这种情况下,您调用的索引为4,但不存在。
尝试rbGiftStatus.SelectedIndex = 3;