Hej jag har ett problem då jag vill kryssa en checkbox i datalisen och sedan mata databasen med värdet. Hej Andreas Det visade sig att felet inte låg i att eventhandlern inte kördes för att datalisten gjorde en bind vid varje postback. detta gjorde att eventet inte triggades. Det eftersom kryssrutan i själva verket aldrig kryssades i...( nollas ju vid bind). jag ändrade så att datalisten endast initierar datalistan första gången sidan körs.problem med att OnCheckedChanged inte körs ifrån en Datalistkontroll
Men den kör inte ens eventet!? och dessutom så förlorar det värdet via postback
någon som har nån idé vad felet kan vara?
här är koden
<asp:DataList ID="DlShowBookImg" runat="server" RepeatColumns="4" RepeatDirection="Horizontal">
<ItemTemplate>
<table id="Table1" cellspacing="0" runat="server">
<tr>
<td >
<asp:CheckBox ID="chkValjToUrval"
runat="server" AutoPostBack="true" OnCheckedChanged="chkValjToUrval_CheckedChanged"/>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
'Borde köra denna.. men icke...
Protected Sub chkValjToUrval_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs)
'gör en massa saker...
end sub
'Använder man istället ItemDataBound så hittar man checkboxen men den är alltid false
Private Sub DlShowBookImgs_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles DlShowBookImg.ItemDataBound
Dim chkboxen As CheckBox = DirectCast(e.Item.FindControl("chkValjToUrval"), System.Web.UI.WebControls.CheckBox)
If chkboxen.Checked Then
End If
end sub
Det går att ändra Checkboxens värde via en knapp oncommand sedan hitta chkboxen med findcontrol men inte genom att helt enkelt kryssa i den... varför????Sv: problem med att OnCheckedChanged inte körs ifrån en Datalistkontroll
Tror det har att göra med din datalist, kan inte förklara varför men du kanske måste använda dig av OnItemCommand eventet som finns på datalisten för att fånga ett event som triggars av en kontroll i en itemtemplate.
Mvh Magnus BertilssonSv:problem med att OnCheckedChanged inte körs ifrån en Datalistkontroll
då körs eventhandlern eftersom kryssrutan då verkligen ändras...
/Andreas