私は論理的に非常に単純なことをしていますが、うまくいきません。
テキストボックスに必須フィールドバリデーターがあります。ラジオボタンを選択すると、テキストボックスに何かを入れることが必須になります。
1) 無効になっている必須フィールドバリデーターを追加してから、ラジオボタンの Onchecked 変更イベントを追加しようとしましたが、必須フィールドバリデーターを有効にしましたが、これは機能しません 2) 必須フィールドバリデーターを有効にし、テキストボックスのテキストを # として保持しましたラジオボタンの.Oncheckedchangedイベントテキストボックスのテキストをクリアしても、rValidatorは機能しません。String.empty と値の両方を渡すことを試みました。
これはサーバー側でのみ必要です。何時間も頭を悩ませ、抜け道が見つかりません。以下のコードをコピーして貼り付けてください。どんな助けでも大歓迎です。
<asp:RadioButton ID="rbNAVEst" GroupName="NAVEstimate2" runat="server" />
<asp:TextBox ID="tbMonNAVEst" Text="Insert [0-100]" runat="server"></asp:TextBox>  
<asp:DropDownList ID="ddlNavEst2" Width="100px" runat="server">
<asp:ListItem> Hours </asp:ListItem>
<asp:ListItem> Business Days</asp:ListItem>
<asp:ListItem> Calendar Days</asp:ListItem>
</asp:DropDownList> <asp:RangeValidator
ID="RangeValidator1" runat="server" Display="Dynamic" Type="Integer" ErrorMessage="Enter Values Between 0 to 100 Only" ControlToValidate="tbMonNAVEst" MaximumValue="100" MinimumValue="0"></asp:RangeValidator>
<br />
<asp:Label ID="lblBlankNAVEst2" runat="server" Width="60px"></asp:Label>
<asp:RadioButton ID="rbOtherNAVEst" AutoPostBack="true" OnCheckedChanged="ClearNAVEstimate" GroupName="NAVEstimate2" runat="server" />
<asp:Label ID="lblOtherNAV" runat="server" Text="Other"></asp:Label>
<asp:TextBox ID="tbOtherNAV" Text="#" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvNAVEStimate" Display="Dynamic" ControlToValidate="tbOtherNAV" Enabled="true" runat="server" ErrorMessage="Please Enter Values" SetFocusOnError="True"></asp:RequiredFieldValidator>
<br />
コードビハインドは次のとおりです。
protected void ClearNAVEstimate(Object sender, EventArgs e)
{
tbOtherNAV.Text = String.Empty;
// rfvNAVEStimate.Enabled = true; ( tried this when I had Validators enabled as false.This also did not work)
tbOtherNAV.Focus();
}