0
Tags:
asp.net
Skrevet af
Bruger #7741
@ 11.07.2005
I denne lektion kigger vi på kontrollerne CheckBox (afkrydsningsfelt) og RadioButton (alternativknap), som kan bruges til at udvælge data.
Checkbox
I nogle situationer er det nødvendigt at kunne vælge mellem en sand og en falsk værdi, og her kan Checkbox-kontrollen bruges.
Syntaksen for de væsentlige medlemmer er som følger:
<asp:Checkbox id = "navn"
AutoPostBack = "True | False"
Checked = "True | False"
Text = "Tekst på kontrol"
TextAlign = "Right | Left"
OnCheckedChanged = "Navn på metode"
RunAt = "Server" />
Af interessante egenskaber kan nævnes:
[table][tr][td]
Egenskab[/td] [td]
Beskrivelse[/td][/tr][tr][td]
AutoPostBack[/td] [td]Ved en True-værdi gennemtvinges en postback når kontrollen benyttes.[/td][/tr][tr][td]
Checked[/td] [td]Sand/falsk værdi der fortæller om der er "sat hak" (True) eller ikke (False).[/td][/tr][tr][td]
Text[/td] [td]Den tekst som er associeret med kontrollen.[/td][/tr][tr][td]
TextAlign[/td] [td]Kan have værdien Right eller Left, og bestemmer hvor den associerede tekst skal placeres[/td][/tr]
[/table]
Her er et kort eksempel på brug af kontrollen:
<%@ Page Language="C#" %>
<script runat="server">
void klik(Object sender, EventArgs e){
checkbox3.Checked=true;
}
</script>
<html><body>
<form runat="server">
<asp:checkbox id="checkbox1" runat="server" /><br/>
<asp:checkbox id=checkbox2 text="Checkbox2"
textalign="left" checked="true" runat=server /><br/>
<asp:checkbox id="checkbox3" text="Checkbox3"
textalign="right" checked="false" runat=server /><br/>
<asp:button id="button1" runat="server" onclick="klik"
text="checkbox3=true" />
</form>
</body></html>
<%@ Page Language="VB" %>
<script runat="server">
sub klik(sender as Object, e As EventArgs)
checkbox3.Checked=true
end sub
</script>
<html><body>
<form runat="server">
<asp:checkbox id="checkbox1" runat="server" /><br/>
<asp:checkbox id="checkbox2" text="Checkbox2"
textalign="left" checked="true" runat=server /><br/>
<asp:checkbox id="checkbox3" text="Checkbox3"
textalign="right" checked="false" runat=server /><br/>
<asp:button id="button1" runat="server" onclick="klik"
text="checkbox3=true" />
</form>
</body></html>
Siden består af tre afkrydsningsfelter og en enkelt knap. De tre afkrydsningsfelter har forskellige egenskaber - herunder TextAlign og Checked, og kode "bag" knappen viser hvordan man kan tildele kontrollen en værdi. Se figur 1.
Figur 1 Brug af CheckBox-kontrollen.Hvis man ønsker at benytte AutoPostback således, at der sker en postback når der vælges en værdi, kan man benytte OnCheckedChanged-metoden til at definere en eventuel metode der ønskes afviklet i forbindelse med hændelsen.
<asp:checkbox id="ch1" oncheckedchanged="[navn]" runat="server" />
Se følgende kode:
<%@ Page Language="C#" %>
<script runat="server">
void nyværdi(Object sender, EventArgs e){
if(ch1.Checked){
tekst.Text="Den er valgt";
}else
{
tekst.Text="Den er ikke valgt";
}
}
</script>
<html><body>
<form runat="server">
<asp:checkbox runat="server" id="ch1"
oncheckedchanged="nyværdi" autopostback="True" /><br/>
<asp:label id=tekst runat=server />
</form>
</body></html>
<%@ Page Language="VB" %>
<script runat="server">
sub nyværdi(sender As Object, e As EventArgs)
if ch1.Checked Then
tekst.Text="Den er valgt"
else
tekst.Text="Den er ikke valgt"
End if
end sub
</script>
<html><body>
<form runat="server">
<asp:checkbox runat="server" id="ch1"
oncheckedchanged="nyværdi" autopostback="True" /><br/>
<asp:label id="tekst" runat="server" />
</form>
</body></html>
Siden består af et enkelt afkrydsningsfelt og en etiket, og når der vælges en værdi i afkrydsningsfeltet, skrives værdien i etiketten - se figur 2.
Figur 2 Brug af AutoPostBack.RadioButton
Alternativknappen (RadioButton) kan benyttes til at vælge en værdi ud af to eller flere, og minder meget om CheckBox-kontrollen i brug. Således har både AutoPostBack, Checked, Text, TextAlign og OnCheckedChanged samme funktionalitet.
Til gengæld er egenskaben GroupName speciel for denne kontrol. Det er i denne egenskab man kan angive at en kontrol hører til en speciel gruppe, og når kontrollerne er grupperet, kan man kun vælge ét element.
Syntaksen med de væsentlige medlemmer er som følger:
<asp:RadioButton id = "navn"
AutoPostBack = "True | False"
Checked = "True | False"
GroupName = "Gruppenavn"
Text = "Tekst på kontrol"
TextAlign = "Right | Left"
OnCheckedChanged = "Navn på metode"
RunAt = "Server" />
Her er et eksempel på brug af et par alternativknapper til at vælge mellem landsdele (se også figur 3):
<%@ Page Language="C#" %>
<script runat="server">
void klik(Object sender, EventArgs e){
resultat.Text="Du har valgt ";
if(landsdel1.Checked)
resultat.Text+="sjælland";
else if(landsdel2.Checked)
resultat.Text+="fyn";
else if(landsdel3.Checked)
resultat.Text+="jylland";
}
</script>
<html><body>
<form runat="server">
<asp:radiobutton id="landsdel1" text="Sjælland"
groupname="landsdel" checked="True" runat=server />
<asp:radiobutton id="landsdel2" text="Fyn"
groupname="landsdel" runat="server" />
<asp:radiobutton id="landsdel3" text="Jylland"
groupname="landsdel" runat="server" />
<br/>
<asp:button runat="server" onclick="klik"
text="Klik på mig" />
<br/>
<asp:label id="resultat" runat="server" />
</form>
</body></html>
<%@ Page Language="VB" %>
<script runat="server">
sub klik(sender As Object, e As EventArgs)
resultat.Text="Du har valgt "
if landsdel1.Checked
resultat.Text &="sjælland"
elseif landsdel2.Checked
resultat.Text &="fyn"
elseif landsdel3.Checked
resultat.Text &="jylland"
end if
end sub
</script>
<html><body>
<form runat="server">
<asp:radiobutton id="landsdel1" text="Sjælland"
groupname="landsdel" checked="True" runat="server" />
<asp:radiobutton id="landsdel2" text="Fyn"
groupname="landsdel" runat="server" />
<asp:radiobutton id="landsdel3" text="Jylland"
groupname="landsdel" runat="server" />
<br/>
<asp:button runat="server" onclick="klik"
text="Klik på mig" />
<br/>
<asp:label id="resultat" runat="server" />
</form>
</body></html>
Som det fremgår, kan man finde ud af hvilken kontrol der er "valgt", ved at spørge på Checked-egenskaben. I eksemplet tildeles etiketten en konstant (sjælland, fyn eller jylland). Man kunne også have valgt at benytte de enkelte kontrollers Text-egenskab i stedet.
Figur 3 Brug af RadioButton-kontrollen
Hvad synes du om denne artikel? Giv din mening til kende ved at stemme via pilene til venstre og/eller lægge en kommentar herunder.
Del også gerne artiklen med dine Facebook venner:
Kommentarer (0)
Du skal være
logget ind for at skrive en kommentar.