webForumDet fria alternativet

Radiobutton i en repeater

.NET

10 svar · 684 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Frågan#1

Är det en bugg i framework 2 också precis som i ettan?
http://support.microsoft.com/kb/316495/en-us

Eller går det att få till så att radioknapparna får samma namn?
Nu får de olika namn och då går det att klicka i alla boxar!

<ItemTemplate>
     <asp:RadioButton GroupName="asd" ID="PositionID" runat="server" Text="apa" />
     ...
</ItemTemplate>
Medlem sedan jan. 2007152 inlägg
#2

Använd radiobuttonlist!

Medlem sedan juni 20003 076 inlägg
#3

Testat det också men det blev samma resultat.
Hur får man en RadioButtonList att sträcka sig över alla Items?
Jag vill ju alltså ha en radioknapp/rad och man ska inte kunna klicka i flera radioknappar.

Medlem sedan jan. 2007152 inlägg
#4

Hm, fungerar för mig... vad får varje radiobuttonlist för name? Kan du visa mer kod?

För att få en knapp per rad skriver du RepeatDirection="Vertical" i din radiobuttonlist.

Red. Provade även vanliga radiobuttons nu med groupname, fungerade också bra. För varje item i min repeater får mina radiobuttons ett gemensamt namn, name="repeater_id$ctl00$gruppnamn".

Medlem sedan juni 20003 076 inlägg
#5

Du missförstod mig nog kanske. Eller så missförstod jag dig! :)
Testkod (som blir fel, radioknapparna får olika namn)

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="ObjectDataSource1">
            <ItemTemplate>
                <asp:RadioButton ID="RadioButton1" GroupName="TestGrupp" runat="server" />
               <%# DataBinder.Eval(Container.DataItem, "Namn") %><br />
            </ItemTemplate>
        </asp:Repeater>

        <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetTable"
            TypeName="Test"></asp:ObjectDataSource>
public class Test
{
    public DataTable GetTable()
    {
        DataTable dt = new DataTable();
        DataColumn dc = new DataColumn("Namn", System.Type.GetType("System.String"));
        dt.Columns.Add(dc);

        DataRow dr;
        dr = dt.NewRow();
        dr["Namn"] = "Test1";
        dt.Rows.Add(dr);

        dr = dt.NewRow();
        dr["Namn"] = "Test2";

        dt.Rows.Add(dr);
        return dt;
    }
}
Medlem sedan jan. 2007152 inlägg
#6

Aha, ja då hade jag missuppfattat dig, du vill alltså ha samma goupname över alla items i hela din repeater...? Tror du måste göra en egen kontroll då som ärver radiobutton som hanterar groupname annorlunda:

http://www.codeproject.com/aspnet/How_group_RButtons.asp

Medlem sedan dec. 19996 721 inlägg
Medlem sedan juni 20003 076 inlägg
#8

Oki :( Det är alltså en bugg i 2:an också då!
(Om man nu får kalla det en bugg, vilket jag tycker att det är.)

Är det bra att det är så här? Eller varför fixar inte MS till detta? :q
Till FW 3.5 kanske! :)

Medlem sedan jan. 2007152 inlägg
#9

Hm, jaa, men om de löser ditt problem så får man ju trubbel istället när du vill ha en grupp för respektive rad... moment 22.

Medlem sedan dec. 19996 721 inlägg
#10

Microsoft kan tydligen inte bestämma sig för om det är en bugg eller inte.

https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=94152

Ta en titt på denna:

http://metabuilders.com/Tools/GlobalRadioButton.aspx

Medlem sedan juni 20003 076 inlägg
#11

butiko skrev:

Hm, jaa, men om de löser ditt problem så får man ju trubbel istället när du vill ha en grupp för respektive rad... moment 22.

Nej, jag tror inte det behöver bli det.
I min värld om jag fick bestämma så skulle det vara så här:
Lägger du in flera radiobuttons och anger ett groupname så ska dessa radioknappar få samma namn oavsett var på sidan de ligger, i repeater, utanför repeater spelar ingen roll.
Om du däremot lägger in en radiobuttonlist så får dessa automatiskt få samma namn utan att använda groupname (precis som idag).
Men, anger du groupname på ex. 2 radiobuttonlist så skulle man kunna tänka sig att de båda får samma namn (vad nu det ska vara bra för).

530 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
177 ms — deklarationer (db)
0 ms — hämta statistik (cache)
346 ms — hämta tråd, inlägg och bilagor (db)
181 ms — ändringar (db)