0

リピーター コントロールがあり、その中に [性別] (男性、女性) を選択する 2 つのラジオ ボタンがあります。ページを保存すると、選択した値 (「M」または「F」) がデータに保存されます。ページをロードするときに、保存されている内容に基づいてラジオ ボタンを選択する必要があります。

したがって、この場合、リピーターには (Container.DataItem).Sex があり、これは「M」または「F」に相当します。ラジオボタンでこのデータを使用して適切な値を選択するにはどうすればよいですか?

これは私が使いたい関数の種類です (しかし、存在しません):

<asp:RadioButtonList runat="server" SelectedValue='<%# ((Dependent)(Container.DataItem)).Sex %>' />

個々のリピーター アイテムにアクセスできないため、コード ビハインドのラジオ ボタンを操作できないことに注意してください。

4

3 に答える 3

1

ここでこの回答を見ると、フォームビューのリピーターのコードビハインドからドロップダウンリストに選択した値を設定すると、次のようなことができるはずです。

<asp:RadioButtonList runat="server" SelectedValue='<%# Eval("Sex") %>' />
于 2012-08-13T16:05:48.017 に答える
1

あなたがする必要があるのは、2 つRadioButtonのコントロール (女性用に 1 つ、男性用に 1 つ) を使用することです。

次にGroupName、一方が選択されているときに一方を選択解除するには、 を指定します。としましょうGroupName="Sex"

次に、各コントロールをチェックするタイミングを次のように指定しますDataItem

<asp:RadioButton ID="radioMale" runat="server" GroupName="Sex" Checked="<%# ((Dependent)(Container.DataItem)).Sex == 'M' %>" />
<asp:RadioButton ID="radioFemale" runat="server" GroupName="Sex" Checked="<%# ((Dependent)(Container.DataItem)).Sex == 'F' %>" />
于 2012-08-13T15:52:06.607 に答える
0

個々のリピーター アイテムにアクセスできないため、コード ビハインドのラジオ ボタンを操作できないことに注意してください。

そのItemDataBoundための...

 <asp:Repeater id="Repeater1" OnItemDataBound="repeaterDatabound" runat="server"> 

コードビハインドについて:

protected void repeaterDatabound(object Sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
        (e.Item.FindControl("Repeater1") as RadioButtonList).SelectedValue=((Dependent)e.Item.DataItem).Sex.ToString();
    }
}
于 2012-08-13T15:58:41.040 に答える