我发现奇怪的是,当我检查某些复选框(生成的 HTML 代码)时,子函数没有提醒(或显示消息)正在检查哪个复选框。
我错过了什么吗?
WebForm.aspx 内部
<script type="text/javascript">
function sub()
{
for (i=0; i<arrChecks.length; i++)
{
var attribute = arrChecks[i].getAttribute("xid")
if (attribute == elementName)
{
// if the current state is checked, unchecked and vice-versa
if (arrChecks[i].checked)
{
arrChecks[i].checked = false;
} else {
arrChecks[i].checked = true;
alert("Checked!");
}
} else {
arrChecks[i].checked = false;
}
}
}
</script>
WebForm.cs 内部
protected void ButtonCheckDate_Click(object sender, EventArgs e)
{
SqlConnection conn = ConnectDB("Data Source=JACKSERVERA;Initial Catalog=tablea;User Id=tableuser;Password=tablepassword");
if ((TextBox2.Text != null) && (TextBox2.Text != ""))
{
try
{
String res = "";
SqlCommand command = conn.CreateCommand();
SqlDataReader reader;
command.CommandType = System.Data.CommandType.Text;
command.CommandText = "SELECT * from overviewtable where [dated] = @PDATED";
command.Parameters.AddWithValue("@PDATED", TextBox2.Text);
command.Connection = conn;
sqlstmt.Text = command.CommandText;
conn.Open();
reader = command.ExecuteReader();
if (reader.HasRows)
{
res = res + "<form name=\"input\" runat=\"server\"><table border=1>";
while (reader.Read())
{
res = res + "<tr>";
string thetime = (string)reader["time"];
string thevenue = (string)reader["venue"];
int numfreeseat = (int)reader["freeseat"];
int occupiedseat = 0;
SqlCommand bkcommand = conn.CreateCommand();
SqlDataReader bookinglist;
bkcommand.CommandType = System.Data.CommandType.Text;
bkcommand.CommandText = "SELECT count(*) from venuea where [dated] = @PDATED";
bkcommand.Parameters.AddWithValue("@PTIME", thetime);
bkcommand.Connection = conn;
sqlstmt.Text = bkcommand.CommandText;
bookinglist = bkcommand.ExecuteReader();
while (bookinglist.Read())
{
if (bookinglist.HasRows)
{
occupiedseat = (int)bookinglist.GetValue(0);
}
}
int leftnumofseat = numfreeseat - occupiedseat;
string color = "";
Boolean fullyoccupied = false;
if (leftnumofseat > 0)
{
if (leftnumofseat == numfreeseat)
{
// white
color = "#FFFFFF";
}
else
{
// light gray - partial occupied
color = "#B8B8B8";
}
}
else
{
// dark gray - fully occupied
color = "#505050";
fullyoccupied = true;
}
res = res + "<td bgcolor=\"" + color + "\">";
res = res + "Available: " + leftnumofseat + "/" + numfreeseat + "";
res = res + "</td>";
string checkboxval = TextBox2.Text + "_" + thetime + "_" + thevenue;
res = res + "<td>";
if (fullyoccupied == false)
{
res = res + "<input type=\"checkbox\" name=\"xid\" value=\"" + checkboxval + "\" runat=\"server\" />";
}
else
{
res = res + "FULL";
}
res = res + "</td>";
res = res + "</tr>";
}
res = res + "</table><input type=\"submit\" value=\"Submit\" OnClick=\"sub\" runat=\"server\"></form>";
}
LabelDateSelection.Text = res;
conn.Close();
}
catch (Exception err)
{
errormsg.Text = err.Message;
}
}
else
{
LabelDateSelection.Text = "Enter Date!";
}
}