webForumDet fria alternativet

Värde på radiobutton

.NET

14 svar · 364 visningar · startad av skyman

Medlem sedan juli 20012 450 inlägg
Frågan#1

Jag har ett problem. Jag får bara ut den sista radiobutton i min loop.
Hur lägger jag till värde på en radio-button?

	protected TableRow r; 
protected TableCell c;
protected System.Web.UI.WebControls.Table Table1;
protected System.Web.UI.WebControls.RadioButton Radio1=new System.Web.UI.WebControls.RadioButton();

private void Page_Load(object sender, System.EventArgs e)
{
ArrayList X;
X=GetFlightsFromDate();
this.AddTableRow("","Date","Departure","Arrival","FlightNr","Ticket");
for(int i=0;i<X.Count;i++)
{
this.AddTableRow("Välj",this.Radio1)			
}
}

AddTableRow ser ut som följer:

private void AddTableRow(string Text, System.Web.UI.Control contr)
{
r = new TableRow();
c = new TableCell();
c.Text=Text;
r.Cells.Add(c);
c = new TableCell();
c.Controls.Add(contr);
r.Cells.Add(c);
Table1.Rows.Add(r);
}
Medlem sedan apr. 20012 266 inlägg
#2

Måste du just skapa din lista på det sättet? Är det inte smartare/lättare att använda en Datagrid, har du tittat på det?

Medlem sedan juli 20012 450 inlägg
#3

Nej det har jag inte gjort.
Du menar att inte lägga ut det som en tabell, <table>?

Jag ska kolla på det.
Men det var inte det som var problemet. Hur tilldelar man ett värde till en radiobutton så att man kan hämta det valda värdet då man klickar på min submit?

Medlem sedan apr. 20012 266 inlägg
#4

Vad menar du med värde? Checkad eller inte checkad?

Medlem sedan juli 20012 450 inlägg
#5

Ja precis. Som när man asnvänder html och asp tex.
Att man bara kallar på radiobuttons namn så får man med värdet (<input type="radio" value="bl abla bla">)

Medlem sedan juni 20011 732 inlägg
#6

Du kan inte sätta value på en radiobutton, däremot kan du enkelt kolla om den är ikryssad eller inte:

(bool)myRadioButton.Checked

Du kan även använda en radiobuttonlist, ett bättre val om du ska loopa igenom listan. Här kan du sätta ett value på varje listitem:

<asp:RadioButtonList id="RadioButtonList1" runat="server">
<asp:ListItem Value="myValue"></asp:ListItem>
</asp:RadioButtonList>

Medlem sedan juli 20012 450 inlägg
#7

Nej jag kör i c#, inte asp.net.... :)

Medlem sedan juni 20011 732 inlägg
#8

Nej jag kör i c#, inte asp.net....

Vad tror du att System.Web.UI.WebControls.RadioButton är? Jo, en asp.net-kontroll så nog lär du använda asp.net alltid. Jag förstår att du på något sött fölrsöker skapa hela layouten från koden, men jag förstår inte varför!? Det är ju inte precis någon nackdel att använda designvyn och asp.net-kontroller som ju är till för att lösa den här typen av problem.

Medlem sedan juli 20012 450 inlägg
#9

Varför jag arbetar så är för att jag har blivit tillsagd att arbeta på det sättet :)

Men jag tycker det är konstigt att det inte går att sätta ett värde på de olika radiobuttons jag får ut.

Medlem sedan juni 20011 732 inlägg
#10

Varför jag arbetar så är för att jag har blivit tillsagd att arbeta på det sättet

Hmm.... vad har du för ´projektledare egentligen? Jaja. :)

Men jag tycker det är konstigt att det inte går att sätta ett värde på de olika radiobuttons jag får ut.

Tjaa, alltså du kan ju iofs skapa vilka behållare du vill och hämta dem med attributes.

RadioButton rb = new RadioButton();
string myValue = rb.Attributes["PåHittatAttribut"].ToString();

Medlem sedan juli 20012 450 inlägg
#11

Han är lika kunnig som jag på denna biten så det kanske inte är så konstigt då :)

Jag skapar en behållare genom att skriva:
this.Radio2.Attributes["FlightSelect"]="kalle"+i;

Sedan så hämtar jag värdet med:
public string get_Flight()
{
return this.Radio2.Attributes["FlightSelect"].ToString();
}

Fungerar det så?

Medlem sedan juni 20011 732 inlägg
#12

Precis, du kan både hämta och sätta värden med attributes. Vad du gör är alltså att du sätter ett eget attribut med ett eget värde i din radiobutton (eller i någon annan kontroll):

<asp:radiobutton id="Radio2" FlightSelect="sträng" runat="server">

Medlem sedan juli 20012 450 inlägg
#13

Kan jag skriva in det i designläget så fattar den det?
Dvs:
<asp:radiobutton id="Radio2" FlightSelect="sträng" runat="server">

/rättning: jag har inte Radiobutton på mitt designläge...

Medlem sedan juli 20012 450 inlägg
#14

Fungerar denna "Attribute" att man läger till ett attribut till kontrollen(radiokontrollen)?

När jag kollar på min source-kod på sidan så ser den ut såhär:

<td align="Center"><span FlightSelect="kalle0"><input id="_ctl1__ctl0" type="radio" name="_ctl1:bokaRadio" value="_ctl1:_ctl0" /></span></td>
Medlem sedan juli 20012 450 inlägg
#15

Jag får inte den jag har valt, jag får alltid den sista som jag har lagt ut...
Det måste stå någonting annat på min return-rad... Men vad?

public string get_Flight()
{
		return this.Radio2.Attributes["FlightSelect"].ToString();
}
257 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)