下面是我的带有Listview控件的ASP.net代码,其复选框为Set<Row>
absentCheckBox
下面是我的C#代码,我试图遍历
中的复选框<asp:ListView ID="student_list" runat="server" DataSourceID="view_students">
<ItemTemplate>
<tr style="">
<td>
<asp:Label Text='<%# Eval("assignment_id") %>' runat="server" ID="assignment_idLabel" />
</td>
<td>
<asp:Label Text='<%# Eval("user_id") %>' runat="server" ID="user_idLabel" />
</td>
<td>
<asp:TextBox Text='<%# Eval("result_percentage") %>' runat="server" ID="result_percentageTextBox" />
</td>
<td>
<asp:CheckBox Checked='<%# Eval("absent") %>' runat="server" ID="absentCheckBox" />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<asp:Button ID="add_results" runat="server" Text="Update Results" OnClick="add_results_Click" CssClass="blue" />
如何在protected void add_results_Click(object sender, EventArgs e)
{
foreach (ListViewItem item in student_list.Items)
{
int student_id = 0;
Label student_id_lbl = (Label)item.FindControl("user_idLabel");
student_id = Convert.ToInt32(student_id_lbl.Text);
int assignment_id = 0;
Label assignment_id_lbl = (Label)item.FindControl("assignment_idLabel");
assignment_id = Convert.ToInt32(assignment_id_lbl.Text);
int result = 0;
TextBox result_total_ddl = item.FindControl("result_percentageTextBox") as TextBox;
if (result_total_ddl != null)
{
if (Int32.TryParse(result_total_ddl.Text, out result))
{
}
else
{
}
}
bool absent = false;
CheckBox absent_chk = item.FindControl("absentCheckBox") as CheckBox;
absent = Convert.ToBoolean(absent_chk.Text);
if (result < 0 || result > 100)
{
feedback.Text = "Please enter an assignment total in between 0 - 100 you have entered : <b>" + result + "</b>.";
}
else
{
String connectionString = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection myConnection = new SqlConnection(connectionString);
myConnection.Open();
String query = "UPDATE assignments_vs_users SET result_percentage = @result_percentage, absent = @absent WHERE assignment_id = @assignment_id AND user_id = @student_id; ";
SqlCommand myCommand = new SqlCommand(query, myConnection);
myCommand.Parameters.AddWithValue("@result_percentage", result);
myCommand.Parameters.AddWithValue("@assignment_id", assignment_id);
myCommand.Parameters.AddWithValue("@student_id", student_id);
myCommand.Parameters.AddWithValue("@absent", absent);
myCommand.ExecuteNonQuery();
myConnection.Close();
}
}
}
中使用absent
,以便在勾选复选框myCommand.Parameters.AddWithValue("@absent", absent);
时将其更新为缺席数据库列