View Full Version : [AspNet/C#] MsgBox
Salve ragazzi
Sto utilizzando Visual Studio Web Developer con C# e vorrei utilizzare un Msgbox , solo che il classico
System.Windows.Form ecc...
Non esiste!
O meglio , non esiste la sottocategoria Form.
Che fare?
tomminno
21-06-2010, 12:29
Ovvio che non esiste. System.Windows.Form è la libreria grafica per applicativi desktop.
Per un "message box" dorvai usare i javascript con le funzioni alert o confirm se ti serve qualcosa di semplice, altrimenti le soluzioni sono molteplici se vuoi qualcosa di più versatile e complesso.
Ovvio che non esiste. System.Windows.Form è la libreria grafica per applicativi desktop.
Per un "message box" dorvai usare i javascript con le funzioni alert o confirm se ti serve qualcosa di semplice, altrimenti le soluzioni sono molteplici se vuoi qualcosa di più versatile e complesso.
C'era qualcosa che non tornava quindi :D
Si , mi serve qualcosa di estremamente semplice , giusto per far sapere all'utente che ha toppato :p
Ho trovato questo in giro per la rete:
public static void ShowMessage(Page aPage, string aMessage)
{
aPage.RegisterStartupScript("AlertMsg", "<script language='javascript'> alert('" + aMessage + "'); </script>");
}
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
if ((e.CommandName == "add") && ((Session["Username"]) != null))
{
string appo = ((Label)e.Item.FindControl("Label4")).Text;
strConn = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" + Server.MapPath("Lam - Copia.mdb") + ";";
Conn = new OleDbConnection(strConn);
User = Convert.ToString(Session["Username"]);
strSQL = "INSERT INTO Acquisti(Username,Cod_Prod,Quantita) VALUES (" + User + "," + appo + ",1);";
Cmd = new OleDbCommand(strSQL, Conn);
Conn.Open();
Cmd.ExecuteNonQuery();
Conn.Close();
}
else
{
ShowMessage(, "Errore");
}
Non so cosa scrivere su ShowMessage , visto che lui si aspetta un parametro Page...
Ho tentato di inserire il nome della pagina , nulla.
astorcas
21-06-2010, 14:56
Ho trovato questo in giro per la rete:
public static void ShowMessage(Page aPage, string aMessage)
{
aPage.RegisterStartupScript("AlertMsg", "<script language='javascript'> alert('" + aMessage + "'); </script>");
}
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
if ((e.CommandName == "add") && ((Session["Username"]) != null))
{
string appo = ((Label)e.Item.FindControl("Label4")).Text;
strConn = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" + Server.MapPath("Lam - Copia.mdb") + ";";
Conn = new OleDbConnection(strConn);
User = Convert.ToString(Session["Username"]);
strSQL = "INSERT INTO Acquisti(Username,Cod_Prod,Quantita) VALUES (" + User + "," + appo + ",1);";
Cmd = new OleDbCommand(strSQL, Conn);
Conn.Open();
Cmd.ExecuteNonQuery();
Conn.Close();
}
else
{
ShowMessage(, "Errore");
}
Non so cosa scrivere su ShowMessage , visto che lui si aspetta un parametro Page...
Ho tentato di inserire il nome della pagina , nulla.
"this" è di tipo Page:
ShowMessage(this, "Errore");
Cmq il metodo funziona ma è obsoleto, riceverai un warning
Grazie innanzitutto.
Ne conosci uno meno obsoleto?
astorcas
21-06-2010, 15:06
Grazie innanzitutto.
Ne conosci uno meno obsoleto?
sostituisci
aPage.RegisterStartupScript("AlertMsg", "<script language='javascript'> alert('" + aMessage + "'); </script>");
con
aPage.ClientScript.RegisterStartupScript(aPage.GetType(),"AlertMsg", "<script language='javascript'> alert('" + aMessage + "'); </script>");
edit: ho messo aPage.RegisterStartupScript invece di RegisterStartupScript
tomminno
21-06-2010, 15:11
Grazie innanzitutto.
Ne conosci uno meno obsoleto?
Page.ClientScript.RegisterClientScriptBlock
PS Sono arrivato tardi...
Che parametri dovrò quindi utilizzare nel richiamo, con la nuova istruzione?
astorcas
21-06-2010, 15:21
Che parametri dovrò quindi utilizzare nel richiamo, con la nuova istruzione?
scusa, ho dimenticato un particolare che ho corretto nel post precedente.
I parametri saranno i soliti. :)
Grazie mille ad entrambi , molto disponibili ;-)
Domandina: come posso gestire il titolo del Msgbox?
Vorrei sostituire la scritta "Pagina C:\ ecc..ecc.."
tomminno
21-06-2010, 15:55
Domandina: come posso gestire il titolo del Msgbox?
Vorrei sostituire la scritta "Pagina C:\ ecc..ecc.."
Non è possibile modificare il title della finestra di alert o confirm.
Se vuoi impostare il titolo devi ricorrere ad una implementazione custom.
Un esempio potrebbe essere questo:
http://slayeroffice.com/code/custom_alert/
Non è possibile modificare il title della finestra di alert o confirm.
Se vuoi impostare il titolo devi ricorrere ad una implementazione custom.
Un esempio potrebbe essere questo:
http://slayeroffice.com/code/custom_alert/
Capito , grazie.
Quindi dovrei ricorrere a qualcosa di custom anche in caso di inputbox ecc...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.