我有一个radiobuttonlist,硬编码到我的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" /> ×
<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>
第一次更改radiobuttonlist的值时,一切正常,但是,如果我第二次尝试它不起作用。有谁知道为什么会这样?任何建议都会很棒,谢谢!
注意:从我所做的测试中,这是OnSelectedIndexChanged没有按照我的预期行事的唯一控件。其余控件的事件正确触发
答案 0 :(得分: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>