我有3個單選按鈕,它們都是單個組的一部分。當單擊其中一個非默認單選按鈕時,它們會在客戶端正確更新(取消選擇上一個單選按鈕並選擇新單選按鈕)。我甚至附加了一個OnClientClick到提交表單來測試它的按鈕,並且在提交表單之前.checked值是正確的。但是,服務器端的第一行代碼檢查值,再次用於測試目的,但.checked值沒有改變。默認值仍然根據服務器進行檢查。單選按鈕沒有更新服務器端的值
下面是我的一些相關的代碼:
ASP
<asp:RadioButton runat="server" ID="rdoDays" Text=" Days" GroupName="RepeatType" />
<asp:RadioButton runat="server" ID="rdoMonths" Text=" Months" GroupName="RepeatType" />
<asp:RadioButton runat="server" ID="rdoYears" Text=" Years" GroupName="RepeatType" />
<asp:Button runat="server" ID="btnSaveAlert" OnClick="btnSaveAlert_OnClick"
Text="Save" OnClientClick="Test()" />
使用Javascript - 點擊一個月的時候,JavaScript會顯示它應該「假」,那麼「真」的警告框。
function Test() {
var rdoDays = document.getElementById("<%= rdoDays.ClientID %>");
var rdoMonths = document.getElementById("<%= rdoMonths.ClientID %>");
var rdoYears = document.getElementById("<%= rdoYears.ClientID %>");
alert(rdoDays.checked);
alert(rdoMonths.checked);
}
那麼對於C#,我已在VS斷點在Page_Init的最開始和單選按鈕.checked值都是「假」
我不知道發生了什麼事情。我是否在asp元素中丟失了一個標籤?任何幫助是極大的讚賞。
我最終改變使用telerik:RadButton作爲切換控件而不是使用asp:RadioButton。這在回發時向服務器提供了更新的值。對於這個問題,不是一個真正的答案,而是一個替代方案。 –