61 messaggi dal 05 settembre 2008
Ciao a tutti amici del forum,
avrei un problemino probabilmente banale che vi spiego:
ho due controlli dropdownlist1 e dropdownlist2 dai quali estraggo dei valori numerici;
eseguo poi un controllo e verifico che il primo valore (relativo primo controllo dropdownlist1) sia minore del secondo (relativo al secondo controllo dropdownlist2);
nel caso in cui il dropdownlist1 > dropdownlist2 scrivo in una label1.text "ATTENZIONE.... il primo valore deve essere minore del secondo";
a questo punto mi rimane a video il contenuto di quest'ultima label e vorrei che sparisse (label1.text="") quando rivado a valorizzare il controllo dropdownlist1, ma non ci riesco.

scusate se non sono stato chiaro.
ringrazio anticipatamente tutti coloro che vorranno suggerire anche altre soluzioni al riguardo.
marco
Ciao Marco,

Il comportamento che descrivi tu non è altro che una validazione a livello UI e si ottiene gratuitamente utilizzando il CompareValidator

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.comparevalidator.aspx
Modificato da llamanna il 12 dicembre 2011 15.42 -
61 messaggi dal 05 settembre 2008
Ti ringrazio per la dritta. Grazie a te ho scoperto una cosa nuova, (a chi sa programmare potrà sembrare una cosa da niente) invece per me è un altro piccolo tassello che si aggiunge.

Un ultima cosa:
con l'utilizzo del CompareValidator verifico se il valore selezionato nella DropDownList1 è > del valore selezionato nella DropDownList2, in caso questa verifica è vera si valorizza il campo TEXT con un messaggio di errore.

Perchè quando vado a rimodificare i valori delle due DropDownList (mettendoli corretti, ovvero la prima < della seconda) mi rimane a video il messaggio di errore precedente?
Grazie
Marco
Sono contenta di essere stata di aiuto.

Quando usi la parola "TEXT" a cosa ti riferisci.

Il comportamento che descrivi mi sembra anomalo.
Il validator dovrebbe essere settato così:

 <asp:CompareValidator ID="CompareValidator1" runat="server" 
        ControlToCompare="DropDownList1" ControlToValidate="DropDownList2" 
        ErrorMessage="Messaggio di errore" Operator="GreaterThan"></asp:CompareValidator>
61 messaggi dal 05 settembre 2008
Hai ragione, perdonami, per TEXT intendevo ErrorMessage="testo del messaggio".

Ho verificato i settaggi e sono identici a quelli che mi hai suggerito te.

La verifica viene effettuata correttamente, il problema è che se seleziono volutamente dei valori che mi facciano vializzare il meg di errore, il messaggio rimane sempre a video, mentre vorrei che sparisse nel momento in cui vado ad agire nuovamente sui controllo dropdownlist.
Dico una fesseria!!! potrebbe essere un problema di trasmissione client/server? refresh di pagina o qualcosa di simile?
Un paio di domandine:

1.Ma agisci da codice o da UI? Quel tipo di comportamento si innesca solo se il valore selezionato nella dropdownlist, cambia interagendo con la UI e non da codice.

2. che versione del framework stai usando?

Creando una pagina di prova, con il framework 4.0, come quella che ti ho allegato in questo messaggio, tutto sembra funzionare.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication2.WebForm1" %>

<!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 runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <p>
            <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="false">
                <asp:ListItem>3</asp:ListItem>
                <asp:ListItem>5</asp:ListItem>
                <asp:ListItem>7</asp:ListItem>
            </asp:DropDownList>
        </p>
        <p>
            <asp:DropDownList ID="DropDownList2" runat="server">
                <asp:ListItem>4</asp:ListItem>
                <asp:ListItem>9</asp:ListItem>
            </asp:DropDownList>
            <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="DropDownList1"
                ControlToValidate="DropDownList2" ErrorMessage="Deve essere minore" Operator="GreaterThan"
                ></asp:CompareValidator>
        </p>
    </div>
    </form>
</body>
</html>

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.