2015-12-14 4 views
0

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

В приведенной ниже я добавил html код, в котором он пОлУБОтИНкИ только 3 набор радио-кнопки, как же у меня есть п число радиокнопки сгенерирована в зависимости от базы данных выборки строки s

Что я хочу я просто хочу сохраните значение переключателя, который выбран для отправки. к Mysql

<table id="attendence_div" width="100%" align="center" cellpadding="2" cellspacing="2" border="0"> 
<tr align="left" style="background-color:#004080;color:White;"> 
      <td> Student Name</td>       
      <td>Present</td>    
      <td>Absent</td>  
       <td>Leave</td>      
     </tr> 
     <tr> 
     <td>ANITHA S</td> 
     <td><input type="radio" name="Present0" value="Present"></td> 
     <td><input type="radio" name="Present0" value="Absent"></td> 
     <td><input type="radio" name="Present0" value="Leave"></td> 
     </tr> 
     <tr> 
     <td>ANITHA T C</td> 
     <td><input type="radio" name="Present1" value="Present"></td> 
     <td><input type="radio" name="Present1" value="Absent"></td> 
     <td><input type="radio" name="Present1" value="Leave"></td> 
     </tr> 
     <tr> 
     <td>BINDU K V</td> 
     <td><input type="radio" name="Present2" value="Present"></td> 
     <td><input type="radio" name="Present2" value="Absent"></td> 
     <td><input type="radio" name="Present2" value="Leave"></td> 
     </tr> 
     </table> 

C# Код

protected void Submit(object sender, EventArgs e) 
{ 
    string present = Present0.Checked; 
    string absent = Present1.Checked; 
     string Leave = Present2.Checked; 

    string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString; 
    using (MySqlConnection con = new MySqlConnection(constr)) 
    { 
     using (MySqlCommand cmd = new MySqlCommand("INSERT INTO attendence(absent, present, Leave) VALUES(@absent, @present,@Leave)")) 
     { 
      cmd.Connection = con; 
      cmd.Parameters.AddWithValue("@absent", absent); 
      cmd.Parameters.AddWithValue("@present", present); 
      cmd.Parameters.AddWithValue("@Leave", Leave); 
      con.Open(); 
      cmd.ExecuteNonQuery(); 
      con.Close(); 
     } 
    } 
} 
+0

Вы когда-нибудь пробовали Контролируйте жерех RadioButtonList –

+0

@FatihSert Я новичок в этом я действительно не знаю, как сделать это :(если и может помочь мне я был бы очень благодарен вам за то, что у – Shaik

ответ

1

Есть два способа, которые можно использовать элемент управления

1. Вы можете добавить в подкатегорию под номером radioobuttonlist в .aspx

<asp:RadioButtonList ID="RadioButtonList1" runat="server"> 
    <asp:ListItem>ColdFusion</asp:ListItem> 
    <asp:ListItem>Asp.Net</asp:ListItem> 
    <asp:ListItem>PHP</asp:ListItem> 
</asp:RadioButtonList> 

2. Другой путь вы можете добавить в ваш C# код

2 0,1 Добавить управления Определение в вашем .aspx

<asp:RadioButtonList ID="RadioButtonList1" runat="server"> </asp:RadioButtonList> 

2 .2 вы можете добавить динамически в C# код

RadioButtonList1.Items.Add(new ListItem()); 

Also check msdn document

здесь мое решение для вашей ситуации

ASPX

<asp:Table runat="server" ID="table"> 
       <asp:TableHeaderRow BackColor="#004080" ForeColor="White"> 
        <asp:TableHeaderCell runat="server" ID="header2" Text="Header2" Width="200px" /> 
        <asp:TableHeaderCell runat="server" ID="header3" Text="Header3" Width="200px" /> 
        <asp:TableHeaderCell runat="server" ID="Header4" Text="Header4" Width="200px" /> 
       </asp:TableHeaderRow> 
      </asp:Table> 
      <asp:Button runat="server" ID="submit" OnClick="submit_Click" Text="submit" /> 

C#

private const string radioButtonGroupNamePrefix = "radioButtonGroupName"; 
     private const string radioButtonIDPrefix = "radioButton"; 

     protected void Page_Load(object sender, EventArgs e) 
     { 
      InitializeRadioButtonList(); 
     } 

     private void InitializeRadioButtonList() 
     { 
      // you can fetch data here and then use. 
      // for example returns 5 rows from database then you must change "for" syntax 
      for (int i = 0; i < 4; i++)//rows count 
      { 
       var row = new TableRow(); 

       for (int j = 0; j < 3; j++) 
       { 
        var cell = new TableCell(); 

        var radioButton = new RadioButton(); 
        radioButton.ID = string.Format("{0}_{1}_{2}", radioButtonIDPrefix, i,j); 
        radioButton.Text = radioButton.ID; 
        radioButton.GroupName = string.Format("{0}_{1}", radioButtonGroupNamePrefix, i);//same gruop name for same row 
        cell.Controls.Add(radioButton); 

        row.Cells.Add(cell); 
       } 
       table.Rows.Add(row); 
      } 
     } 


     protected void submit_Click(object sender, EventArgs e) 
     { 
      foreach (var item in Request.Form.AllKeys) 
      { 
       if (item.Contains(radioButtonGroupNamePrefix)) 
       { 
        var radioButton = (FindControl(item) as RadioButton); 
       } 
      } 
      //TODO : DB operations 
     } 
+0

Уточняю ур, если возможно, вы можете привести пример моего кода для вставки данных в db для выше. click click event – Shaik

+0

Извините @Shaik не сейчас, потому что я пишу телефон, слишком сложно писать код. Я попытаюсь добавить пример через 6 часов –

+0

уверен, но не забывайте vl ждать u и спасибо за поддержку – Shaik