Как получить Radiobutton SelectedItem.Text. из вида сетки - PullRequest
0 голосов
/ 10 сентября 2010

Пожалуйста, помогите мне, у меня есть Gridview с именем GridViewGender с RadioButtonList с ним Встроенный код

<asp:GridView ID="GridViewGender" runat="server"
        AutoGenerateColumns="False"  
       Width="494px" DataKeyNames="ren">

    <Columns>

        <asp:BoundField DataField="ren" HeaderText="Items" />

        <asp:TemplateField HeaderText="Attendance" >
            <ItemTemplate>

                <asp:RadioButtonList  ID="RadioButtonListGender" runat="server" Enabled="true"
                     RepeatDirection="Horizontal" TextAlign="Left"  
                      >
                <asp:ListItem Value="1">Male</asp:ListItem>
                <asp:ListItem Value="2">Female</asp:ListItem>                       

                </asp:RadioButtonList>
            </ItemTemplate>

        </asp:TemplateField>
    </Columns>
</asp:GridView> 

 protected void Page_Load(object sender, EventArgs e)
    {
        MyClass obj = new MyClass ();
        GridViewGender.DataSource = obj.check();
        GridViewGender.DataBind();
    }

protected void Button1_Click(object sender, EventArgs e)
{
    List<string> checking = new List<string>();
    for(int i = 0 ; i < GridViewGender.Rows.Count ; i ++)
    {
        GridViewRow row = GridViewGender.Rows[i];
         string  rr = Convert.ToString( ((RadioButtonList)row.FindControl("RadioButtonListGender")).SelectedItem.Text)   ;
         checking .Add((string.IsNullOrEmpty(rr)) ? string.Empty : rr);
    }
}

Ответы [ 2 ]

0 голосов
/ 15 сентября 2010

Как насчет старого доброго !IsPostBack для привязки

protected void Page_Load()
{
    if (!IsPostBack)
    {
       // Binding code
    }
}

и использования EnableViewState="true" в объявлении GridView, чтобы данные не восстанавливались при каждой загрузке страницы.

Также,если у вас возникли проблемы с приведением, вы можете попробовать выполнить приведение с row.Cells[1].Controls[1] as RadioButtonList вместо FindControl.

0 голосов
/ 11 сентября 2010

Похоже, вы перепривязываете GridView при каждой загрузке страницы, поэтому выбор пользователя в любом случае, вероятно, будет перезаписан.

По запросу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...