<div class="container">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Font-Size="Medium">
<asp:TemplateField HeaderText="Student ID">
<ItemTemplate>
<asp:Label ID="lblID" runat="server" Width="80px" Text='<%#Eval("studentID") %>'/>
</ItemTemplate>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:LinkButton runat="server" OnCommand="LinkButton_Click" Text=" VoteCandidate"> </asp:LinkButton>
</ItemTemplate>
</asp:GridView>
<div>
<asp:Label ID="Label1" runat="server" ></asp:Label>
</div>
</div>
Вот моя форма для отображения gridview.
protected void loadCandidate()
{
con.Open();
MySqlCommand cmd = new MySqlCommand("select studentID from candidate where faculty='FOCS'", con);
MySqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows == true)
{
GridView1.DataSource = dr;
GridView1.DataBind();
}
}
protected void LinkButton_Click(Object sender, EventArgs e)
{
String MyConnection2 = "Server=localhost;database=ovs;Uid=root;password=; Convert Zero Datetime=True";
foreach (GridViewRow g1 in GridView1.Rows)
{
MySqlConnection MyConn2 = new MySqlConnection(MyConnection2);
String query = "insert into voting (studentID)values ('" + g1.Cells[0].Text + "')" ;
MySqlCommand MyCommand2 = new MySqlCommand(query, MyConn2);
MySqlDataReader MyReader2;
MyConn2.Open();
MyReader2 = MyCommand2.ExecuteReader();
MyConn2.Close();
}
}
Когда я выполняю команду sql insert, ошибки не возникает, но я ожидаю, что StudentID, отображаемый в gridview, будет сохранен в таблице для голосования, но идентификатор studentID в таблице для голосования пуст.