0

我有一个单选按钮列表,它被硬编码到我的 asp.net 页面中,如下所示:

<asp:RadioButtonList runat="server" ID="rblOrientation" RepeatDirection="Horizontal"
    OnSelectedIndexChanged="rblOrientation_onSelectedIndexChanged" AutoPostBack="true">
    <asp:ListItem Text="Portrait" Value="P" Selected="True"></asp:ListItem>
    <asp:ListItem Text="Landscape" Value="L"></asp:ListItem>
</asp:RadioButtonList>

后面的代码如下:

protected void rblOrientation_onSelectedIndexChanged(object sender, EventArgs e)
{
    ddlPaperSize_onSelectedIndexChanged(sender, e);
}

基本上发生的事情是它调用另一个函数来更新更新面板中的一堆值。这也是硬编码的,看起来像这样:

<asp:UpdatePanel runat="server">
    <ContentTemplate>
        <asp:Label ID="lblPaperWidth" runat="server" />
        <span id="txtUOMWidth" runat="server" />&nbsp;×
        <asp:Label ID="lblPaperHeight" runat="server" />
        <span id="txtUOMHeight" runat="server" />
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="rblOrientation" />
        <asp:AsyncPostBackTrigger ControlID="ddlPaperSize" />
        <asp:AsyncPostBackTrigger ControlID="ddlScale" />
    </Triggers>
</asp:UpdatePanel>

我第一次更改单选按钮列表的值时一切正常,但是,如果我第二次尝试它就不起作用。有谁知道这可能是为什么?任何建议都会很棒,谢谢!

注意:从我所做的测试来看,这是唯一一个 OnSelectedIndexChanged 没有按照我预期的方式运行的控件。其余控件的事件正确触发

4

1 回答 1

0

试试这个代码,它对我来说很好。

<asp:ScriptManager ID="smMain" runat="server" />

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always" ChildrenAsTriggers="true" >      
      <ContentTemplate>
        <asp:RadioButtonList runat="server" ID="rblOrientation" RepeatDirection="Horizontal"
             OnSelectedIndexChanged="rblOrientation_onSelectedIndexChanged" AutoPostBack="true">
         <asp:ListItem Text="Portrait" Value="P" Selected="True"></asp:ListItem>
         <asp:ListItem Text="Landscape" Value="L"></asp:ListItem>
        </asp:RadioButtonList>

      </ContentTemplate>
    </asp:UpdatePanel>
于 2012-07-05T17:12:29.573 回答