1

ASP.netには、yesまたはnoオプションのある単純なテキストボックスとラジオボタンのリストがあります。VBサーバー側では、ラジオボタンのOnClickを実装し、それを実行します。

<asp:RadioButtonList ID="rbltest" runat="server" AutoPostBack="true"      OnSelectedIndexChange="rbltest_SelectedIndexChanged"                                                                      <asp:ListItem Text="Yes" Value="0"></asp:ListItem>
<asp:ListItem Selected="True" Text="No" Value="1"></asp:ListItem>
</asp:RadioButtonList>

唯一の問題は、ラジオボタンをクリックしてからTextBoxにデータを入力すると(すぐに-2秒以内に)、ラジオボタンが戻るとデータが削除されることです。これは迷惑です。とにかくその周りにありますか?

4

2 に答える 2

0

データを失ったコントロールを削除EnableViewState="false"し、コントロールのViewStateのデフォルト値(true)を許可する必要があります。

于 2012-09-12T15:50:51.323 に答える
0

AutoPostBack=trueこれを修正する唯一の方法は、RadioButtonListコントロールを削除することです。auto-postbackオプションは、サーバーへのHTTPポストバックをすぐに開始するため、それ以降に入力されたものはすべて失われます。

別のオプション:

  • onclickクライアント側のハンドラーを実装し、ポストバック処理中はテキストを無効にします(つまり、ユーザーが何も入力できないことをユーザーに明確にします。これは驚き最小の原則です)。
  • Javascriptを使用して、クライアント側で変更ロジックを完全に実装します
  • ASP.Net AJAX UpdatePanelを使用して、ポストバックを非同期で実行します(これには、サーバーへの完全なポストバックが必要ないため、入力を続けることができます)。
于 2012-09-12T15:51:30.503 に答える