我在表单上有三个单选按钮--A,B,C。这些选择中的每一个都会填充特定于该选项的数据的下拉列表。当表单加载时,我设置选项A进行检查(作为默认)。默认单选按钮不触发UpdateControl回发
当我选择按钮B或C时,AsyncPostBack触发正常,下拉列表被填充。但是,随后从B或C中选择A不会触发事件。
我怀疑是因为当窗体加载时检查了A,浏览器没有看到任何“更改”来提升事件。
那么可以做些什么来使默认的A按钮识别它正在从B或C改变,以提高回发?
我已经尝试在页面初始化加载(即IsPostBack为False)中设置按钮A的选中状态,并在html中设置单选按钮的checked属性,结果相同。如果我不默认单选按钮,则功能按预期工作,除非我没有单选按钮,并且页面首次加载时默认为下拉列表。
的HTML ...
<asp:RadioButton ID="radBook" runat="server" AutoPostBack="true" GroupName="grpArticleType" Text="Book" />
<asp:RadioButton ID="radCD" runat="server" AutoPostBack="true" GroupName="grpArticleType" Text="CD" />
<asp:RadioButton ID="radDVD" runat="server" AutoPostBack="true" GroupName="grpArticleType" Text="DVD" />
<asp:UpdatePanel ID="pnlTasks" runat="server" UpdateMode="Conditional" RenderMode="Inline">
<ContentTemplate>
<asp:DropDownList ID="dropShippingSize" runat="server" CssClass="dropdownMandatory"></asp:DropDownList>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="radBook" />
<asp:AsyncPostBackTrigger ControlID="radCD" />
<asp:AsyncPostBackTrigger ControlID="radDVD" />
</Triggers>
</asp:UpdatePanel>
背后的代码...
Sub Page_Load
If Not Me.IsPostBack Then
radBook.Checked = True
End If
End Sub
Private Sub rad_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles radBook.CheckedChanged, radCD.CheckedChanged, radDVD.CheckedChanged
zLoadShippingSizeDropdown()
End Sub
单选按钮是一组的组成部分吗? – BenB 2009-02-18 03:46:34
是的,他们都有相同的GroupName。 – Bill 2009-02-18 03:52:29
你可以发布你的Page_Load代码吗? – BenB 2009-02-18 03:55:08