4 messaggi dal 12 ottobre 2007
Ciao a tutti,

lo scenario è questo:

ho una classe business collegata ad un objectdatasource, il quale fornisce i dati ad una listview collegata ad un datapager.

ho settato il medoto selectmethod per selezionare i dati dell'objectdatasource,
in più ho creato un metodo che accetta un oggetto come parametro per la select
(ho derivato una classe StaticParemter da Parameter)

nel listview è presente un controllo controlbox con l'autopostback=true.
questo controlbox riempie semplicemente una textbox con il suo valore.

fintanto che NON seleziono parametri, e quindi l'objectdatasource preleva i dati dal metodo "semplice" tutto funziona regolarmente; il problema si presenta quando imposto dei parametri e quidi l'objectdatasource usa il metodo con parametri.

il problema è che a questo punto quando seleziono un valore dal controlbox, viene si scatenato l'evento del postback e da debug verrebbe anche riempito il controllo text, solo che l'objectdatasource scatena nuovamente l'evento del metodo con parametri e quindi sovrascrive la pagina (cosa che non si verifica con il metodo "semplice")

Spero di essermi spiegato bene :) :)

cosa posso fare per risolvere questo problema?

Grazie
samain wrote:
Spero di essermi spiegato bene

non tanto, ma forse perchè non ho presente lo scenario.

cosa posso fare per risolvere questo problema?

io sono dell'idea che quando lo scenario è complesso, i *DataSource portino via più tempo di quanto è necessario a fare
if (!IsPostBack)
{
myControl.DataSource = new Bla().Bla();
myControl.DataBind();
}

scrivere codice in fin dei conti non è sbagliato
.

Daniele Bochicchio | ASPItalia.com
I libri su HTML5, WP7, ASP.NET, VB, C#, Entity Framework
Senior Software Architect@5DLabs.it
Microsoft Regional Director for Italy
4 messaggi dal 12 ottobre 2007
ok, provo a spiegare meglio

in una pagina asp.net (c#) ho un controllo objectdatasource collegato ad
un mio oggetto business.

ho creato un metodo che accetta un oggetto come parametro
estendendo la classe Parameter come da
http://msdn.microsoft.com/it-it/library/system.web.ui.webcontrols.parameter.aspx

nella stessa pagina ho un controllo listview che usa come origine dati
l'objectdatasource

tra i vari controlli presenti nel listview c'è un DropDownList (era il controlbox :( chiedo scusa ) con
autopostback=true

Se l'objectdatasource utilizza il metodo per la select "liscio" (senza
parametri)

quando faccio click sul DropDownList viene richiamato il metodo
associato al DDL e poi il controllo torna alla pagina

Se l'objectdatasource utilizza il metodo con parametri
quando faccio click sul DDL viene prima eseguito il metodo del DDL
e immediatamtente dopo l'objectdatasource riesegue la query con il
conseguente "riazzaramento" del listview

spero di essere stato più chiaro :P

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.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC