我在表單上有三個單選按鈕--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