背景:キャリアがWebサービス経由で選択されると、キャリアリストボックスから値を継承するバンドルリストボックスがあります。ASP.NET - Listboxでfalse negativeエラーが発生する必須のフィールドバリデータ
- ボタンにvalidationGroupがあり、クリックハンドラでPage.IsValidを使用しましたが、「Nothing」と表示されます。
- IE8で別のキャリアを選択すると、IE9ではなく他のフォームの値がリセットされます。
- lbCarriersでAutopost = falseの場合、Bundlesリストボックスはデータをロードしません。
- "lbCarriers"でCausesValidation = "true"を指定すると、バンドルリストボックスでデータがロードされないか、またはw Ajaxを実行する方法を知っていますか?
- 私はこれをAjaxでどうやってやれるか知っていますか?
問題:バンドルリストボックスで必要なフィールドバリデーターを使用すると、バンドルを選択したときに誤ったerorrが返されます。送信ボタンをクリックすると、「少なくとも1バンドルを選択してください」というエラーメッセージが表示されますが、招待状はまだ送信されてメールが届きます。ここで
は、アプリケーションのスクリーンショットです:Default.aspxページ上の
asp.netコード:
<tr>
<td class="style5">
Carrier:<br />
<font size="1">*Hold Ctrl Key Down to Select Multiple Carriers</font></td>
<td bgcolor="#ffffff" class="style7">
<asp:ListBox ID="lbCarriers" SelectionMode="Multiple" AutoPostBack="true"
runat="server" Height="86px" Width="250px" ValidationGroup="ValidationGroup">
</asp:ListBox>
</td>
<td bgcolor="#ffffff" class="style2">
<asp:RequiredFieldValidator ID="CarrierValidator" runat="server" Text="*"
ErrorMessage="Select At Least 1 Carrier" ControlToValidate="lbCarriers"
ValidationGroup = "ValidationGroup" ForeColor="Red" ></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="style1">
Bundles:<br />
<font size="1">*Hold Ctrl Key Down to Select Multiple Bundles</font></td>
<td bgcolor="#ffffff" class="style6">
<asp:ListBox ID="bundles" SelectionMode="Multiple" runat="server" Height="86px"
Width="250px" Enabled="True"
ValidationGroup="ValidationGroup" CausesValidation="True">
</asp:ListBox>
</td>
<td bgcolor="#ffffff" class="style2">
<asp:RequiredFieldValidator ID="BundleValidator" runat="server" Text="*"
ErrorMessage="Select At Least 1 Bundle" ControlToValidate="bundles"
ValidationGroup = "ValidationGroup" ForeColor="Red" ></asp:RequiredFieldValidator>
</td>
</tr>
<asp:Button ID="Send_Button" runat="server"
Text="Send Invitation" ValidationGroup="ValidationGroup" Width="123px"/>
<br />
<asp:Label ID="Send_Success" runat="server" Text="Invitation sent!" Visible="false"></asp:Label>
<br />
<asp:ValidationSummary ID="ValidationSummary" runat="server" ForeColor="Red"
ValidationGroup="ValidationGroup" />
質問:あなたがお勧めですかどのような代替コードまたは回避策この問題?
ありがとうございます!
私はasp.netでたくさんのexpを持っていませんが、Page.isValidを確認しました – Kashif
あなたのボタンのvalidationGroupはありますか?あまり問題はありませんが、ajax ConfirmButtonの使用をお勧めします。 –
私はリストボックスのアイテムの人口はクライアント側で発生すると思いますか?送信ボタン操作はどうですか?ポストバックがあるのですか、それともクライアント側ですか?私はどちらか一方または両方の動作が 'RequiredFieldValidator'クライアント側の機能を台無しにしていると推測しています。送信ボタンがポストバックを行う場合、クリックハンドラの 'Page.IsValid'からどのような価値が得られますか? – pseudocoder