Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di cms9651
    Registrato dal
    Mar 2010
    Messaggi
    107

    Mancato aggiornamento della GridView

    Ciao.

    Avrei bisogno di un aiuto su una pagina aspx (C#) in cui utilizzo una funzione javascript abbinata alla classe RequiredFieldValidator per la convalida dei campi in essa contenuti.

    La convalida secondo condizioni previste funziona, quello che non funziona è l'aggiornamento della GridView quando i campi richiesti nel form sono validi.

    In sostanza inserendo gli intervalli di tempo di interesse nei campi DateStart e DateEnd la pagina aspx non ricarica e non si aggiorna la GridView; succede lo stesso con i campi DateStart1 e DateEnd1.

    Questo è il codice.
    Grazie a tutti.

    codice:
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="button.aspx.cs" Inherits="SqlServer_button" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title></title>
    </head>
    <body onload="InitValidators()">
        <form id="form1" runat="server">
        <div>
            <asp:ValidationSummary ID="ValidationSummary1" ShowMessageBox="true" runat="server"
                ShowSummary="false" />
            <asp:TextBox ID="DateStart" runat="server"></asp:TextBox>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="DateStart"
                ErrorMessage="RequiredFieldValidator" Display="None"></asp:RequiredFieldValidator>
            <asp:TextBox ID="DateEnd" runat="server"></asp:TextBox>
            <asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="Not valid date!"
                ControlToValidate="DateEnd" ControlToCompare="DateStart" Type="Date" Operator="GreaterThanEqual"
                CssClass="redb" SetFocusOnError="false"></asp:CompareValidator>
            <asp:ImageButton ID="Button1" ImageUrl="images/cerca_icon.gif" runat="server" OnClick="Button1_Click"
                OnClientClick="javascript:InitValidators();return false;" />
            <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="DateEnd"
                ErrorMessage="RequiredFieldValidator" Display="None"></asp:RequiredFieldValidator>
            
    
            
    
            <asp:TextBox ID="DateStart1" runat="server"></asp:TextBox>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="DateStart1"
                ErrorMessage="RequiredFieldValidator" Display="None"></asp:RequiredFieldValidator>
            <asp:TextBox ID="DateEnd1" runat="server"></asp:TextBox>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="DateEnd1"
                ErrorMessage="RequiredFieldValidator" Display="None"></asp:RequiredFieldValidator>
            <asp:CompareValidator ID="CompareValidator2" runat="server" ErrorMessage="Not valid date!"
                ControlToValidate="DateEnd1" ControlToCompare="DateStart1" Type="Date" Operator="GreaterThanEqual"
                CssClass="redb" SetFocusOnError="false"></asp:CompareValidator>
            <asp:ImageButton ID="Button2" ImageUrl="images/cerca_icon.gif" runat="server" OnClick="Button2_Click"
                OnClientClick="javascript:InitValidators();return false;" />
            <asp:Label ID="MessagesLabel" runat="server" Text=""></asp:Label>
            
    
            
    
        </div>
        </form>
        <script type="text/javascript" language="javascript">
            function InitValidators() {
    
                var DateStart = document.getElementById('<%=DateStart.ClientID%>');
                var DateEnd = document.getElementById('<%=DateEnd.ClientID%>')
                var DateStart1 = document.getElementById('<%=DateStart1.ClientID%>');
                var DateEnd1 = document.getElementById('<%=DateEnd1.ClientID%>')
    
                if (DateStart.value == '' || DateEnd.value == '') {
                    ValidatorEnable(document.getElementById('<%= RequiredFieldValidator1.ClientID%>'), true);
                    ValidatorEnable(document.getElementById('<%= RequiredFieldValidator2.ClientID%>'), true);
                }
                else {
                    ValidatorEnable(document.getElementById('<%= RequiredFieldValidator1.ClientID%>'), false);
                    ValidatorEnable(document.getElementById('<%= RequiredFieldValidator2.ClientID%>'), false);
                }
    
                if (DateStart1.value == '' || DateEnd1.value == '') {
                    ValidatorEnable(document.getElementById('<%= RequiredFieldValidator3.ClientID%>'), true);
                    ValidatorEnable(document.getElementById('<%= RequiredFieldValidator4.ClientID%>'), true);
                }
                else {
                    ValidatorEnable(document.getElementById('<%= RequiredFieldValidator3.ClientID%>'), false);
                    ValidatorEnable(document.getElementById('<%= RequiredFieldValidator4.ClientID%>'), false);
                }
    
    
            }
        </script>
    </body>
    </html>

  2. #2
    ciao,

    se non sbaglio, il pulsante che dovrebbe far partire la ricerca, ha questo codice nel click lato client:
    codice:
    java-script:InitValidators();return false;
    quindi, si fa l'inizializzazione dei validator, ma poi l'istruzione "return false" non invia il PostBack.

    dovresti togliere il return false.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.