Jag har ett formulär med en combolista med orter, samt inmatningsfält (resurser, antal arbetsplatser mm, för vald ort) och en datalist som visar aktuella resurser om orten. Datalistan uppdateras i Page.Load samt vid byte av ort i combolistan. Hej. OK, tänkte att kanske i första hand om någon hade haft samma problem... Verkar som om jag har hittat lösningen, även om jag tycker att den verkar långsiktig.Datalist uppdateras ej efter fel i valideringskontroll
Det finns även några valideringskontroller för att säkra datainmatningen.
Om jag matar in data (korrekta data, dvs ingen valideringskontroll triggas) sparas data i databasen, och datalistan uppdateras med den senaste inmatningen.
Om jag däremot skriver ett fel (valideringskontroll triggar), rättar felet, sparar, så sparas datat i databasen, men datalistan uppdateras inte med senaste inmatningen.
Jag har försökt att "vålduppdatera" datalistan, i Page.Load, efter varje insert, efter klick på "spara-knappen", men inget verkar hjälpa, har jag fått en valideringskontroll att trigga, så uppdateras inte datalistan.
Tips?
TIA / Uffe
PS
Nåt gick snett vid sparandet av detta inlägg, borde ligga i asp.net...
DSSv: Datalist uppdateras ej efter fel i valideringskontroll
Jag tror du måste visa koden för "spara-knappen" och Page.Load om vi skall hjälpa dig.
Det låter emmelertid som om ViewState och IsPostBack har nåt med saken att göra.
//freddaSv: Datalist uppdateras ej efter fel i valideringskontroll
<code>
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
' Bind droplista med orter
BindDropDown()
End If
' Fyll datalista med data för orten
ViewAllEntriesForCity(cboAddOrt.SelectedItem.Value.ToString)
End Sub
Private Sub cmdSubmit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSubmit.Click
' Kontrollera att inga veckor-inmatningar är gjorda innan allt sparas
If IsWeeksExisting() Then
' om det finns poster , visa varning om att det inte går att spara
divErrorMessage.Text &= "Det finns redan inmatade veckor under denna tidsperiod"
Else
' Spara värdena från formuläret
InsertValues()
' Efter spara genomförtes,
' Fyll datalista med data för orten
ViewAllEntriesForCity(cboAddOrt.SelectedItem.Value.ToString)
End If
End Sub
</code>
Har även försökt med denna Page.Load:
<code>
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
' Bind droplista med orter
BindDropDown()
' Fyll datalista med data för orten
ViewAllEntriesForCity(cboAddOrt.SelectedItem.Value.ToString)
End If
End Sub
</code>
Och denna för att "rensa ut" datalisten innan jag fyller den på nytt:
<code>
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
' Bind droplista med orter
BindDropDown()
End If
' Rensa listen innan den fylls på nytt
DataList.DataSource = ""
DataList.DataBind()
' Fyll datalista med data för orten
ViewAllEntriesForCity(cboAddOrt.SelectedItem.Value.ToString)
End Sub
</code>
Har även försökt att köra ViewAllEntriesForCity direkt efter varje INSERT i proceduren InsertValues() men förgäves.
Jag upptäckte i går kväll även att det verkar som om datalisten blir "låst" efter ett fel som triggas av valideringskontrollerna. Har felet inträffat och jag väljer en annan ort i droplisten borde ju funktionen fungera som normalt, men den gör inte det, utan den info som fanns i datalisten vid felet ligger kvar...
Mer gråa hårstrån...Sv: Datalist uppdateras ej efter fel i valideringskontroll
Jag har oftast satt Page propertyn "SmartNavigation=True" på varje sida
När jag tog bort den propertyn så började sidorna fungera som de skall igen.