Hej För att kunna hämta ut eller manipulera värdet på en checkbox i en datalost måste du veta vilken av raderna i din datalist det handlar om. Sen kan du köra något i stil med:Läsa värdet från en RadioButton i en DataList
Jag har en RadioButton i en Datalist som jag vill läsa värdet ifrån.
Värdet som ska läsas är inskickat via DataBinder, så långt inga problem.
<asp:DataList ID="dlstTitelPris" runat="server">
<ItemTemplate>
<asp:RadioButton ID="RadioButton1" onclick="Check(this)" runat="server"
value='<%#DataBinder.Eval(Container.DataItem, "PrisTypId")%>' />
</ItemTemplate>
</asp:DataList>
När man sedan väljer en av raderna/RadioButton1 vill jag ta med värdet (value) och använda detta i Code Behind. Jag går dock bet, eftersom jag inte hittar kontrollen. (ID="RadioButton1"), och vet då inte vilken kontroll som är vald och vilket värde den har. Brukar göra detta i ItemCommand, men RadioButton saknar ju CommandName...
Dim tmpRButton As RadioButton = CType(?.FindControl("RadioButton1"), RadioButton)
Dim intPrisTypId As Int16 = tmpRButton.value
I nuläget använder jag även ett Javascript för att nolla valda radioknappar. Det är värdet cur.value som jag är ute efter att fånga upp. som visas i alert nedan. Kanhända finns det ett enkelt sätt att sätta en session-variabel i Java som jag kommer åt från Code Behind?
<script language="javascript">
var prev;function Check(cur)
{
if(prev != null)
prev.checked = ''; cur.checked = 'checked';
prev = cur;
alert(cur.value);
}
</script>
Tacksam för tips!
/JoachimSv: Läsa värdet från en RadioButton i en DataList
<code>
Dim tmpRButton As RadioButton = CType(dlstTitelPris.Items[<radnummer>].FindControl("RadioButton1"), RadioButton)
</code>