背景:我有一个捆绑列表框,一旦通过 Web 服务选择了运营商,它就会从运营商列表框中继承值。
- 我在按钮上有一个validationGroup,我在点击处理程序上使用了Page.IsValid,它显示“Nothing”。
- 当我在 IE8 中选择不同的运营商时,它会重置其他表单值,但不会在 IE9 中。
- 在 lbCarriers 上使用 Autopost=false,Bundles 列表框不会加载任何数据。
- 在“lbCarriers”中使用 CausesValidation="true",Bundles 列表框也不会加载任何数据您知道如何使用 Ajax 来做到这一点吗?
- 你知道我怎么能用 Ajax 做到这一点吗?
问题:当我选择了捆绑包时,在捆绑包列表框上使用必填字段验证器会返回错误错误。当我单击“发送”按钮时,我收到“选择至少 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" />
问题:对于这个问题,您推荐什么替代代码或解决方法?
感谢您的关注!