我想知道是否可以在javascript中完成requiredfieldvalidator。 我不希望我的按钮单击处理页面执行回发,因为回发完全重置我的样式,并且在ispostback上重新加载太多了。
然而,一旦所有字段都完成,我将回发到服务器以更新SQL。
<asp:UpdatePanel id="PurGradeUpdate" runat="server" RenderMode="Inline">
<ContentTemplate>
<telerik:RadComboBox ID="PURGrade" runat="server" Width="100" EmptyMessage=" ---" Font-Bold="true"></telerik:RadComboBox>
<asp:RequiredFieldValidator ID="PurGradeValidate" runat="server" Display="Dynamic" ControlToValidate="PURGrade" ErrorMessage="!!!" Font-Italic="true" Font-Bold="true" ForeColor="Red" InitialValue=" ---" EnableClientScript="true"></asp:RequiredFieldValidator>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="PURProduct" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
<telerik:RadButton ID="PurCreate" runat="server" AutoPostBack="false" OnClientClicked="PerformValidation"></telerik:RadButton>
我在更新面板中有以上内容,因为组合框是通过SQL读取填充的,基于其他组合框选择的索引更改。
我现在想在我的进程按钮单击上调用“PerformValidation”,此处必须进行验证,如果无效,则显示错误消息。
感谢您的帮助。
答案 0 :(得分:0)
好的,我在我的VS上查了一下,这肯定有用:
<asp:UpdatePanel id="PurGradeUpdate" runat="server" RenderMode="Inline">
<ContentTemplate>
<asp:DropDownList ID="PURGrade" runat="server" Width="100" Font-Bold="true"></asp:DropDownList>
<asp:RequiredFieldValidator ID="PurGradeValidate" runat="server" Display="Dynamic" ControlToValidate="PURGrade" ErrorMessage="!!!" Font-Italic="true" Font-Bold="true" ForeColor="Red" InitialValue="---" EnableClientScript="true"></asp:RequiredFieldValidator>
<asp:DropDownList ID="PURProduct" runat="server" Width="100" Font-Bold="true"></asp:DropDownList>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="PURProduct" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
<Asp:Button ID="PurCreate" runat="server" AutoPostBack="true"></Asp:Button>
在aspx.cs文件中,我添加了默认值:
PURGrade.Items.Insert(0, "---");
正如我之前告诉你的那样,在你不需要使用自定义JavaScript命令在客户端进行验证之前,默认情况下,asp必需的字段验证器在客户端运行。可能导致代码出现问题的唯一想法是您使用的自定义控件。确保您的组合框空值是真正添加到选择列表中的默认值。