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