печать страницы после проверки валидатора

#c# #asp.net

#c# #asp.net

Вопрос:

я хочу, чтобы при нажатии на кнопку сначала проверялся валидатор, затем выполнялась команда печати вот мой ASPX-код:

 <asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server">
<style type="text/css">
    .style1
    {
    }

    @media print
    {
        .header, .style1, .footer,.hide
        {
            display:none
        }
    }
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1"
        ErrorMessage="RequiredFieldValidator" style="color: #FF0000"></asp:RequiredFieldValidator>
    <br />
    <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="window.print();" />
</asp:Content>
 

проблема в том, что когда я нажимаю на кнопку, она выполняет функцию печати и не проверяет валидатор.

Ответ №1:

JavaScript OnClientClick сработает до того, как ваша страница будет проверена. Вы можете попробовать проверить страницу перед ее печатью.

 function Validate() {
    if(Page_ClientValidate())
        window.print();
}
 

Затем назовите это так.

 <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="Validate();" />
 

Ответ №2:

Установите для свойства CausesValidation кнопки значение true!