这条线的问题是:
if (radio_view_upload.SelectedIndex == 2)
radio_view_upload
RadioButtonList只有2个选项,因此if语句将始终转到Else部分。只有SelectedIndex 0和1可用。
您还可以使用
if (radio_view_upload.SelectedValue == "myValue")
,但要使其工作,您必须添加一个
value="myValue"
到ListItems。
更新
在…内
<ContentTemplate>
你有一个
<tr> <td>
</td> </tr>
不匹配
<table> </table>
标签。可能这些标记在UpdatePanel之外,在代码段中不可见。您应该在UpdatePanel中添加/移动这些内容。
更新2
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:FileUpload ID="FileUpload1" runat="server" />
<br />
<br />
<asp:Label runat="server" ID="lbl_caption_upload" Text="caption" CssClass="label"></asp:Label>
<br />
<asp:TextBox runat="server" ID="txt_caption_upload" TextMode="MultiLine" CssClass="textbox"></asp:TextBox>
<br />
<asp:RadioButtonList runat="server" ID="radio_view_upload" OnSelectedIndexChanged="radio_view_upload_SelectedIndexChanged" AutoPostBack="True">
<asp:ListItem Text="custom"></asp:ListItem>
<asp:ListItem Text="public"></asp:ListItem>
</asp:RadioButtonList>
<br />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="radio_view_upload" />
</Triggers>
<ContentTemplate>
<asp:Panel runat="server" ID="placeholder_panel" Visible="true" CssClass="hide">
<asp:Label runat="server" ID="lbl_genre_upload" Text="genre" CssClass="label"></asp:Label>
<br />
<asp:CheckBoxList runat="server" ID="check_genre_upload" DataTextField="Title" DataValueField="ID" RepeatColumns="7" RepeatDirection="Horizontal"></asp:CheckBoxList>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>