gpt4 book ai didi

客户端验证后阻止 asp.net 回发

转载 作者:行者123 更新时间:2023-12-02 16:36:35 27 4
gpt4 key购买 nike

我有一个 ASP.NET 表单,其中包含一个下拉列表,它会在更改时发回服务器,并用一些日期填充第二个下拉列表。

该表单还包含其他字段,其中一些字段在客户端进行验证,另一些字段在服务器端进行验证。

这是我遇到的问题。如果我收到客户端验证错误,然后尝试更改下拉列表,则不会填充第二个下拉列表。如果我再次更改第一个下拉列表,它会按预期工作。

这是我的提交按钮:

<asp:Button ID="btnSubmit" Text="Submit" runat="server" OnClientClick="Page_ClientValidate(); return checkPassengers();" OnClick="Page_Transfer" ValidationGroup="FormSubmit" />

这是我的客户端验证:

function checkPassengers() {
if($("#testField").val() == "Name *" || $("#testField").val() == "") {
$("#pltester").prepend("<p class='fillall'>Please fill in all fields marked with *</p>");
return false;
}
};

下拉菜单:

<asp:UpdatePanel ID="UpdatePanel1" runat="server" >
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddl1st" EventName="SelectedIndexChanged" />
</Triggers>
<ContentTemplate>
<asp:DropDownList ID="ddl1st" Width="190" AutoPostBack="true" OnSelectedIndexChanged="ChooseDates1st" runat="server" />
<asp:DropDownList ID="ddlDepart1st" AutoPostBack="true" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>

最佳答案

我之前在使用 updatepanels 时多次遇到过这个问题。

我发现,如果需要验证该字段,那么您必须在元素上实际设置 CausesValidation="true" 才能使其仍然与 updatepanels 一起使用。

希望这对您有帮助!

关于客户端验证后阻止 asp.net 回发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10232739/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com