3 messaggi dal 27 marzo 2010
ho creato una maschera per inserire dei dati con delle textbox , prima prelevandoli dal database tramite entities , poi una volta modificato il contenuto delle stesse, lo ripassa sempre alle entities per modificare i record sul database .

il problema è che una volta modificati, i dati non vengono più passati in nessun caso nè all'entita nè a variabili locali (create per prova) ... questo mi accade sia che usi vs2008 sia che usi wwd2010

provato a disabilitare pure viewstate della pagina :(
Kizzus75 wrote:
il problema è che una volta modificati, i dati non vengono più passati in nessun caso nè all'entita nè a variabili locali (create per prova) ... questo mi accade sia che usi vs2008 sia che usi wwd2010
provato a disabilitare pure viewstate della pagina

probabilmente li ricarichi al PostBack, sovrascrivendoli. questo, di fatto, annulla la modifica. devi evitare di caricare dal db i dati al PostBack, perchè tanto il controllo mantiene lo stato (facendo una Request, non con il ViewState).
.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
3 messaggi dal 27 marzo 2010
Non era nemeno quello il problema, ho riscritto la pagina di sana pianta (posto il codice per fare chiarezza) , mentre l'inserimanto dei dati funziona perfettamente l'aggiornamento non funziona ovvero solo se passo direttamente le stringhe p.name ="nome" ottengo l'aggiornamento mentre se passo p.nome = textbox.text non ottengo nulla


int IDrecord=-1;
Project project ;

protected void Page_Load(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(Request.QueryString["ProjectId"]))
{
ModifyButton.Visible = false;
LabelHeader.Text = "Inserire Progetto :";
}
else
{

InsertButton.Visible = false;


using (Entities prj = new Entities())
{
project = prj.Project.Where(c => c.ID == IDrecord).First();

}

if (project != null)
{
NameProjBox.Text = project.ProjectName;
......

}

}

}
protected void InsertButton_Click(object sender, EventArgs e)
{
project.ProjectName = HttpUtility.HtmlEncode(NameProjBox.Text);
.....
project.InsDate = DateTime.Now;

// l'inserimento del nuovo record funziona perfettamente

using (Entities db = new Entities())
{

db.SaveChanges();
}

System.Threading.Thread.Sleep(2000);
Response.Redirect("SelectProj.aspx");
}


protected void ModifyButton_Click(object sender, EventArgs e)
{


using (Entities ctx = new Entities())
{
var p = (from c in ctx.Project
where c.ID == IDrecord
select c).FirstOrDefault();

p.ProjectName = HttpUtility.HtmlEncode(NameProjBox.Text);
...
p.description = "descrizione" // solo immettendo i dati //in questo modo avviene l'aggiornamento
p.LastModified = DateTime.Now;



ctx.SaveChanges();
}
}
Modificato da Kizzus75 il 04 maggio 2011 15.49 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.