webForumDet fria alternativet

Alert box om formulären inte är ifyllda

.NET

2 svar · 1 028 visningar · startad av silfver

Medlem sedan apr. 200312 679 inlägg
Frågan#1

Jag har sökt på webben efter lösningar på det här problemet men lyckas inte få det att fungera. Tilläggas bör väl att jag är noob.

Om mina formulärvält inte är godkända vill jag att det ska komma upp en enkel alert box med en OK-knapp. Jag har inte tillgång till MessageBox.Show(); och lyckas inte få till referenserna heller.

Hur kan jag lösa detta enkelt?

protected void btnWindowAddresses_Click(object sender, EventArgs e)
{
    if (!Page.IsValid)
    {
        //Alert box här!
    }
    else
    {
        foreach (RepeaterItem rptritm in rptrWindowAddresses.Items)
        {
            TextBox txtNamn = (TextBox)rptritm.FindControl("txtNamn");
            String Test = txtNamn.Text;
        }
    }
}

Använder C#.

Medlem sedan apr. 200312 679 inlägg
#2
<script type="text/javascript">alert("OBS! Fyll i alla obligatoriska uppgifter!");</script>

Den här biten skulle jag ju kunna skriva ut egentligen. Men hur?

Medlem sedan apr. 200312 679 inlägg
#3

En kollega hade en lösning liggandes och gjorde så här:

        public static void Popup(string message)
        {
            AddStartUpJavaScriptToPage("alert('" + message + "');");
        }
        
        public static System.Web.UI.Page GetPage()
        {
            System.Web.UI.Page site = HttpContext.Current.Handler as System.Web.UI.Page;
                return site;
        }
        public static void AddStartUpJavaScriptToPage(string Script)
        {            
            System.Web.UI.Page site = GetPage();

            if (site != null)
                site.ClientScript.RegisterStartupScript(Type.GetType("System.String"), Guid.NewGuid().ToString(), "<script language=javascript>" + Script + "</script>");
        }

        protected void btnWindowAddresses_Click(object sender, EventArgs e)
        {
            if (!Page.IsValid)
            {
                Popup("OBS! Fyll i alla obligatoriska uppgifter.");
            }
            else
            {
                foreach (RepeaterItem rptritm in rptrWindowAddresses.Items)
                {
                    TextBox txtNamn = (TextBox)rptritm.FindControl("txtNamn");
                    String Test = txtNamn.Text;
                }
            }
        }
253 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)