0

1 つのグループの一部であるフォームに 3 つのラジオ ボタンがあります。デフォルト以外のラジオ ボタンの 1 つがクリックされると、クライアント側で適切に更新されます (以前のラジオ ボタンの選択を解除し、新しいラジオ ボタンを選択します)。テストするためにフォームを送信するボタンに 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 は警告ボックスに「False」を表示してから「True」を表示します。

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値はすべて「false」です

何が起こっているのかわかりません。asp要素などにタグがありませんか?どんな助けでも大歓迎です。

4

2 に答える 2

2

Viewstate は OnInit と OnLoad の間に読み込まれます。ページの OnLoad イベントでラジオ ボタンがオンになっているかどうかを確認してください。

于 2012-12-21T21:53:25.300 に答える