Domanda

Ho un sacco di caselle di testo e un pulsante di salvataggio per aggiornare qualcosa. Quando faccio clic su Salva, ho il codice che determina se sono stati compilati correttamente, nel codice dietro il file.

Se non sono compilati correttamente, desidero visualizzare un messaggio di errore sotto forma di avviso.

Qual è il modo migliore per farlo? La pressione del pulsante rende ovviamente il postback della pagina, quindi ho pensato di aggiungere qualcosa all'URL come mypage.aspx? Errormessage = blahblah ma non so se questo è il modo migliore o addirittura come fare si ...

Qualche suggerimento?

È stato utile?

Soluzione

Gli avvisi modali sono negativi, così come i postback. Prova a controllare il più possibile sul lato client senza un viaggio di andata e ritorno al server. Vedi jQuery Validation per un modo meno invasivo di convalida.

Altri suggerimenti

Potresti utilizzare un CustomValidator per attivare lo script lato client che mostra una casella di avviso?

È possibile utilizzare il metodo ClientScript.RegisterStartupScript () nel codice di gestione degli errori lato server per scrivere uno snippet javascript che chiama alert ('message'), qualcosa del genere

private void ShowErrorMessage(string message)
{
    string script = "alert('" + message + "');";
    ClientScript.RegisterStartupScript(typeof(MyPage), "errorScript", script, true);
}

Ma raccomanderei invece di usare un validatore. Se implementi il ??tuo validatore personalizzato, puoi farlo emettere uno script lato client che può essere eseguito prima dell'invio, per evitare del tutto il postback.

Un aspetto positivo dei validatori è che i loro messaggi di errore possono essere visualizzati in un ValidatorSummary sulla pagina, evitando la brutta finestra di avviso.

Prima di tutto non consiglierò di mostrare all'utente una finestra di avviso modale.

Puoi chiamare una funzione javascript dal codice lato server e in quella funzione puoi far apparire l'errore.

Oppure puoi inviare una richiesta AJAX e dopo la convalida sul lato server puoi inviare una risposta al client.

I vari controlli di convalida di ASP.NET (con la convalida lato client abilitata), abbinati a messaggi di errore e / o messaggi di riepilogo adeguati, saranno sufficienti per la maggior parte degli scenari.

Per "AJAX feel and behavior", mettere i controlli in un pannello di aggiornamento sarà anche facile da implementare.

Usa i validatori più vecchi che puoi, rende javascript al client in modo che tu possa fare un sacco di validazione usando questi controlli e solo quando sono tutti soddisfatti permette alla pagina di inviare.

Fanno fuoco su ogni invio, quindi se non vuoi che tutte le azioni di invio li facciano diventare i controlli parte di un gruppo di validazione.

Possono convalidare l'input usando espressioni regolari, assicurarsi che un campo abbia un valore e ce ne siano anche altri.

Quindi c'è la proprietà per dichiarare un 'messaggio' e un controllo per mostrare tutti i messaggi del validatore. Tutto molto elegante e integrato nell'IDE.

Vai a controllare i controlli del validatore.

Prova il seguente codice nell'evento clic sul pulsante:

string strErr="Error!";//Put your error message here
ClientScript.RegisterStartupScript(GetType(), "scrptName", "javascript: alert('"+strErr+"'); ", true);

Mostrerà un messaggio di avviso.

Altrimenti metti un'etichetta sulla tua pagina aspx e imposta false visibili nell'evento page_load. Quando si verifica un errore nell'evento del pulsante, impostare la visibilità dell'etichetta su "true" e riempire il testo dell'etichetta con il messaggio di errore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top