2012-01-31 11 views
1

特定の条件に基づいて<td>の中にテキストボックスとドロップダウンがあります。テキストボックスを非表示にしてドロップダウンを表示する必要があります。ドロップダウンが表示されている場合は、同じrequiredfield Validatorを使用することができます。これは可能ですか?RequiredFieldValidatorのControlToValidateを動的に変更してください

の後ろに私のコードで
<td> 
    <asp:TextBox ID="txtLimit" runat="server" /> 
    <asp:DropDownList ID="ddlCurLiabiltyLimits" runat="server" CssClass="TextNormal" OnSelectedIndexChanged="ddlCurLiabiltyLimits_SelectedIndexChanged"> 
    </asp:DropDownList> 
    <asp:RequiredFieldValidator runat="server" ControlToValidate="txtLimit" ErrorMessage="Answer is required." ClientIDMode="Static" /> 
</td> 

RequiredFieldValidator1.ControlToValidate = ddlCurLiabiltyLimits.ID ; 

が、これは動作していないようです。

+0

いつあなたは 'CintrolToValidate'を置き換えますか? – abatishchev

+0

ページが読み込まれ、Validateボタンのクリックイベントが発生した後。 – BumbleBee

+0

「ページの読み込み後」とはどういう意味ですか?有効なボタンは何ですか? – pseudocoder

答えて

2

問題の原因の1つは、DropDownListでRequiredFieldValidatorを使用する場合、DropDownListの「最初の」項目のValueを示すRequiredFieldValidator.InitialValueプロパティを指定することです。多分あなたの問題がどこにあるのでしょうか?

2

私はあなたがページライフサイクルで遅すぎるControlToValidateプロパティにIDを割り当てている可能性があります。ページのOnInitイベント中にこれを割り当てることは可能ですか?

DropDownListに2番目のRequiredFieldValidatorを使用するほうが簡単かもしれません。

+1

私はこのシナリオをテストし、Page.LoadのRequiredFieldValidator.ControlToValidateをうまく動作させました。 – pseudocoder

+0

@ pseudocoder - ああ、知っておいてよかった。しかし、OPのようなサウンドはButtonのClickイベントの中でこれを行っています。 –