Hej Hejhämta ut värdet eller current index för en datalistcontrol via en checkbox
Någon som vet hur man skall göra för att hämta ut värdet eller current index för ett item i en datalist när man klickar på en kryssruta i en datalisten?
koden ser ut så här
<asp:DataList ID="DlShowBookImg" runat="server" RepeatColumns="4" RepeatDirection="Horizontal">
<ItemTemplate>
<table id="Table1" cellspacing="0" runat="server">
<tr>
<td rowspan="3" >
<asp:ImageButton ID="katImgItem" runat="server" CommandArgument='<%#Eval("bookid")%>'
ImageUrl='<%#resolveImgUrl(Eval("isbn"),"img")%>' OnCommand="getBookDetailInfo_command"
Height="150px" />
</td>
<td class="Ajkat_DlTblCol2">
<asp:Image ID="itemImglogo" runat="server" Height="15px"
ImageUrl='<%#resolveImgUrl(Eval("Easyread"),"mark")%>' Width="15px" />
</td>
</tr>
<tr>
<td class="Ajkat_DlTblCol2">
<asp:HiddenField ID="HF_bookid" Value='<%#Eval("bookid")%>' runat="server" />
<asp:CheckBox ID="chkValjToUrval" runat="server"
AutoPostBack="True" OnCheckedChanged="chkValjToUrval_CheckedChanged2"
/>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
'Behöver Bookid från datalisten men kommer inte på nått sätt att hämta ut det.
'har försökt att hämta värdet från hiddenfields men måste ju ha ett index annars får man ju bara samma värde...
Protected Sub chkValjToUrval_CheckedChanged2(ByVal sender As Object, ByVal e As System.EventArgs)
Dim checkBook As Boolean = True
Dim hf_bookid As HiddenField = DirectCast(DlShowBookImg.Items(0).FindControl("HF_bookid"), System.Web.UI.WebControls.HiddenField)
Dim getbookid As String = hf_bookid.Value
'sammlar upp värden i sessionslista
If Session("myBook") = "" Then
Session("myBook") = getbookid
Else
If chkifBookExistInSession(getbookid) = False Then
Session("myBook") = Session("myBook") & ";" & getbookid
End If
End If
'skall tillsvidare kryssa i om man klickat i chkboxen... fixar av bockning sen...
Dim chkboxen As CheckBox = DirectCast(sender, System.Web.UI.WebControls.CheckBox)
chkboxen.Checked = True
End Sub
någon som har nått förslag?
mvh
AndreasSv: hämta ut värdet eller current index för en datalistcontrol via en checkbox
Jag har löst problemet. Man får tag i indexet genom att gå tillbaka till och söka i listitem i datalisten
så här.
Dim dli As DataListItem = DirectCast(DirectCast(sender, CheckBox).Parent.Parent.Parent.Parent, DataListItem)
hämta indexvärdet via: dli.ItemIndex
klart!
/andreas