Ciao a tutti,
da profano nel mondo della programmazione web sto cercando di realizzare un database con interfaccia web (con webmatrix), in modo da rendere più "portabile" il mio lavoro e poter accedere da qualsiasi posizione ad un form dove inserire nuovi clienti e informazioni varie.
Sto seguendo un tutorial su http://www.asp.net/web-pages/tutoria.../updating-data, però ho aggiunto anche altri elementi rispetto ad esso, come dropdown list, checkbox, ecc...
Ho due pagine, una per inserire i dati, e l'altra per modificare una voce dal database.
La pagina per l'inserimento funziona bene direi, o per lo meno per quello che devo fare io se la cava, ma quella di edit no. Non riesco a caricare il valore delle checkbox, che rimangono sempre senza spunta quando vengono caricate. Così quando salvo le modifiche, i valori delle checkbox vengono sempre vuoti.
Vi posto il codice relativo a quella parte:
Per quanto riguarda l'inserimento:
codice:@{ var block= ""; if(IsPost && Validation.IsValid()){ block = Request.Form["block"]; // verifiche è il nome del database e apparecchio quello della tabella var db = Database.Open("Verifiche"); var insertCommand = "INSERT INTO Apparecchio (block)" + "VALUES(@0)"; db.Execute(insertCommand, block); //provashowdata è la pagina con la lista dei records inseriti Response.Redirect("~/provashowdata"); } } <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Aggiungi apparecchio</title> </head> <body> <h1>Aggiungi apparecchio</h1> @Html.ValidationSummary() <form method="post"> <p> <label for="block">Valore</label> <input type="checkbox" name="block" value="@Request.Form["block"]" checked /> </p> <p><input type="submit" name="buttonSubmit" value="Aggiungi apparecchio" /></p> </form> <p> <a href="~/provashowdata">Vai alla lista apparecchi</a> </p> </body> </html>
e questo invece il codice che non funziona, quello dell'edit:
codice:@{ var block = ""; if(!IsPost){ if(!Request.QueryString["id"].IsEmpty() && Request.QueryString["id"].IsInt()) { id = Request.QueryString["id"]; var db = Database.Open("Verifiche"); var dbCommand = "SELECT * FROM Apparecchio WHERE id = @0"; var row = db.QuerySingle(dbCommand, id); } else{ Validation.AddFormError("No app was selected."); } } if(IsPost){ block = Request.Form["block"]; if(Validation.IsValid()){ var db = Database.Open("Verifiche"); var updateCommand = "UPDATE Apparecchio SET block=@0 WHERE Id=@1"; db.Execute(updateCommand, block); Response.Redirect("~/provashowdata"); } } } <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Edit app</title> </head> </head> <body> <h1>Edit app</h1> @Html.ValidationSummary() <form method="post"> <p> <label for="block">Valore</label> <input type="checkbox" name="block" value="@Request.Form["Block"]" /> </p> <input type="hidden" name="id" value="@id" /> <p><input type="submit" name="buttonSubmit" value="Submit Changes" /></p> </form> <p><a href="~/provashowdata">Return to movie listing</a></p> </body> </html>
sapete dirmi dove sbaglio? grazie

Rispondi quotando
