gpt4 book ai didi

c# - 为什么 checkedchanged 事件不会在取消选中 asp.net 中的复选框时触发

转载 作者:太空狗 更新时间:2023-10-29 22:12:18 25 4
gpt4 key购买 nike

出勤跟踪器应用程序的一部分,显示用户的主题并让他标记自己的出勤情况。

使用 enableviewstate="true",复选框不会被取消选中并且 checkchanged 事件不会执行。

namespace portal

{

public partial class tracker : System.Web.UI.Page
{

String[] split; string day;
protected void Page_Load(object sender, EventArgs e)
{

/* if (Session["uname"] == null)
{
Response.Redirect("Firstpage.aspx");
}*/
String[] split = new String[16];
DateTime d1 = DateTime.Today;
string month = d1.ToString("MMMM");
Lblmonth.Text = month;
String userid = Session["uname"].ToString();
SqlConnection con2 = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=F:\mmm\portal\App_Data\student.mdf;Integrated Security=True;User Instance=True");
SqlCommand cmd2 = new SqlCommand("select sbranch ,syear from studdetails where userid=@userid ", con2);
cmd2.Parameters.AddWithValue("userid", userid);
String branch = "", year = "";
SqlDataReader rdr2 = null;
con2.Open();
rdr2 = cmd2.ExecuteReader();
while (rdr2.Read())
{
branch = rdr2["sbranch"].ToString();
year = rdr2["syear"].ToString();
}
con2.Close();
int sem = 0;
switch (year)
{
case "B.E": sem = 8;
break;
case "T.E": sem = 6;
break;
case "S.E": sem = 4;
break;
case "F.E": sem = 2;
break;
default: sem = 2;
break;

}

int tempmonth = (int)(d1.Month);
if (tempmonth > 6)
sem = sem - 1;



SqlConnection con3 = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=F:\mmm\portal\App_Data\student.mdf;Integrated Security=True;User Instance=True");
SqlCommand cmd3 = new SqlCommand("select subject from subjecttable where department=@dept and semester=@sem ", con3);
cmd3.Parameters.AddWithValue("dept", branch);
cmd3.Parameters.AddWithValue("sem", sem);
con3.Open();
SqlDataReader rdr3 = null;
rdr3 = cmd3.ExecuteReader();
string subject = "";
while (rdr3.Read())
{
subject = rdr3["subject"].ToString();

}
con3.Close();
Char[] separator = new Char[] { ',' };
String[] subsplit = subject.Split(separator);
int size = subsplit.Length;
switch (size)
{
case 6: subj6.Text = subsplit[5];
goto case 5;
case 5: subj5.Text = subsplit[4];
goto case 4;
case 4: subj4.Text = subsplit[3];
goto case 3;
case 3: subj3.Text = subsplit[2];
goto case 2;
case 2: subj2.Text = subsplit[1];
goto case 1;
case 1: subj1.Text = subsplit[0];
break; ;

}

}
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
if (e.Day.IsWeekend)
{
e.Cell.BackColor = System.Drawing.Color.DarkBlue;
}
else
{
e.Cell.BackColor = System.Drawing.Color.LightBlue;
}
SelectedDatesCollection dates = Calendar1.SelectedDates;

DateTime toDay = DateTime.Today;
string days = toDay.ToLongDateString();

Labelday.Text = days;
Char[] separator = new Char[] { ',' };
String[] split1 = days.Split(separator);
day = split1[0];
Session["day"] = Calendar1.SelectedDate.ToShortDateString();
if (dates.Count > 0)
{
Labelday.Text = dates[0].ToLongDateString() + "<br />";
String temp = Labelday.Text;
split1 = temp.Split(separator);
day = split1[0];
}
if (!(day.Equals("Saturday") || day.Equals("Sunday")))
{
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=F:\mmm\portal\App_Data\student.mdf;Integrated Security=True;User Instance=True");
string cla = Convert.ToString(Session["uclass"]);
SqlCommand cmd = new SqlCommand("select " + day + " from studtimetable where class = @class ", con);

con.Open();
cmd.Parameters.AddWithValue("class", cla);
SqlDataReader rdr = null;
String tt = "";
rdr = cmd.ExecuteReader();
while (rdr.Read())
{
tt = rdr[day].ToString();
}
con.Close();

split = tt.Split(separator);
int size = split.Length;
lbltime.Visible = true;
Lblsubj.Visible = true;
Lblatt.Visible = true;
switch (size)
{
case 16: Label15.Text = split[15];
Session["l15"] = Label15.Text;
Label14.Text = split[14];
CheckBox8.Visible = true;

goto case 14;
case 14: Label13.Text = split[13];
Session["l13"] = Label13.Text;
Label12.Text = split[12];
CheckBox7.Visible = true;
goto case 12;
case 12: Label11.Text = split[11];
Session["l11"] = Label11.Text;
Label10.Text = split[10];
CheckBox6.Visible = true;
goto case 10;
case 10: Label9.Text = split[9];
Session["l9"] = Label9.Text;
Label8.Text = split[8];
CheckBox5.Visible = true;
goto case 8;
case 8: Label7.Text = split[7];
Session["l7"] = Label7.Text;
Label6.Text = split[6];
CheckBox4.Visible = true;
goto case 6;
case 6: Label5.Text = split[5];
Session["l5"] = Label5.Text;
Label4.Text = split[4];
CheckBox3.Visible = true;
goto case 4;
case 4: Label3.Text = split[3];
Session["l3"] = Label3.Text;
Label2.Text = split[2];
CheckBox2.Visible = true;
goto case 2;
case 2: Label1.Text = split[1];
Session["l1"] = Label1.Text;
Label0.Text = split[0];
CheckBox1.Visible = true;
break;

}

}
else
{
lbltime.Text = "Enjoy weekend";
lbltime.Visible = true;
}
}
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{

CheckBox1.Checked = false;

CheckBox2.Checked = false;

CheckBox3.Checked = false;

CheckBox4.Checked = false;

CheckBox5.Checked = false;

CheckBox6.Checked = false;

CheckBox7.Checked = false;

CheckBox8.Checked = false;
}



protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
if (CheckBox1.Checked == true)
{
string sub = Session["l1"].ToString();
string userid = Session["uname"].ToString();
string date = Session["day"].ToString();
string tempclass = Session["uclass"].ToString();

SqlConnection con4 = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=F:\mmm\portal\App_Data\student.mdf;Integrated Security=True;User Instance=True");
SqlCommand cmd4 = new SqlCommand("insert into " + tempclass + "track values ('" + userid + "','" + sub + "','" + date + "')", con4);
con4.Open();

cmd4.ExecuteNonQuery();
con4.Close();


}
else
{
Label18.Text = "uncheck";//temporary to check if this block executes
}
}



protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
{

if (CheckBox2.Checked == true)
{
string sub = Session["l3"].ToString();
string userid = Session["uname"].ToString();
string date = Session["day"].ToString();
string tempclass = Session["uclass"].ToString();

SqlConnection con4 = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=F:\mmm\portal\App_Data\student.mdf;Integrated Security=True;User Instance=True");
SqlCommand cmd4 = new SqlCommand("insert into " + tempclass + "track values ('" + userid + "','" + sub + "','" + date + "')", con4);
con4.Open();

cmd4.ExecuteNonQuery();
con4.Close();

//Response.Redirect("tracker.aspx");
}
else
{
}

}

protected void CheckBox3_CheckedChanged(object sender, EventArgs e)
{
if (CheckBox3.Checked == true)
{
string sub = Session["l5"].ToString();
string userid = Session["uname"].ToString();
string date = Session["day"].ToString();
string tempclass = Session["uclass"].ToString();

SqlConnection con4 = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=F:\mmm\portal\App_Data\student.mdf;Integrated Security=True;User Instance=True");
SqlCommand cmd4 = new SqlCommand("insert into " + tempclass + "track values ('" + userid + "','" + sub + "','" + date + "')", con4);
con4.Open();

cmd4.ExecuteNonQuery();
con4.Close();

//Response.Redirect("tracker.aspx");
}
else
{
}

}

protected void CheckBox4_CheckedChanged(object sender, EventArgs e)
{
if (CheckBox4.Checked == true)
{
string sub = Session["l7"].ToString();
string userid = Session["uname"].ToString();
string date = Session["day"].ToString();
string tempclass = Session["uclass"].ToString();

SqlConnection con4 = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=F:\mmm\portal\App_Data\student.mdf;Integrated Security=True;User Instance=True");
SqlCommand cmd4 = new SqlCommand("insert into " + tempclass + "track values ('" + userid + "','" + sub + "','" + date + "')", con4);
con4.Open();

cmd4.ExecuteNonQuery();
con4.Close();

//Response.Redirect("tracker.aspx");
}
else
{

}

}

protected void CheckBox5_CheckedChanged(object sender, EventArgs e)
{
if (CheckBox5.Checked == true)
{
string sub = Session["l9"].ToString();
string userid = Session["uname"].ToString();
string date = Session["day"].ToString();
string tempclass = Session["uclass"].ToString();

SqlConnection con4 = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=F:\mmm\portal\App_Data\student.mdf;Integrated Security=True;User Instance=True");
SqlCommand cmd4 = new SqlCommand("insert into " + tempclass + "track values ('" + userid + "','" + sub + "','" + date + "')", con4);
con4.Open();

cmd4.ExecuteNonQuery();
con4.Close();

//Response.Redirect("tracker.aspx");
}
else
{
}
}

protected void CheckBox6_CheckedChanged(object sender, EventArgs e)
{
if (CheckBox6.Checked == true)
{
string sub = Session["l11"].ToString();
string userid = Session["uname"].ToString();
string date = Session["day"].ToString();
string tempclass = Session["uclass"].ToString();

SqlConnection con4 = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=F:\mmm\portal\App_Data\student.mdf;Integrated Security=True;User Instance=True");
SqlCommand cmd4 = new SqlCommand("insert into " + tempclass + "track values ('" + userid + "','" + sub + "','" + date + "')", con4);
con4.Open();

cmd4.ExecuteNonQuery();
con4.Close();

//Response.Redirect("tracker.aspx");
}
else
{
}
}

protected void CheckBox7_CheckedChanged(object sender, EventArgs e)
{
if (CheckBox7.Checked == true)
{
string sub = Session["l13"].ToString();
string userid = Session["uname"].ToString();
string date = Session["day"].ToString();
string tempclass = Session["uclass"].ToString();

SqlConnection con4 = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=F:\mmm\portal\App_Data\student.mdf;Integrated Security=True;User Instance=True");
SqlCommand cmd4 = new SqlCommand("insert into " + tempclass + "track values ('" + userid + "','" + sub + "','" + date + "')", con4);
con4.Open();

cmd4.ExecuteNonQuery();
con4.Close();

//Response.Redirect("tracker.aspx");
}
else
{
}

}

protected void CheckBox8_CheckedChanged(object sender, EventArgs e)
{
if (CheckBox8.Checked == true)
{
string sub = Session["l15"].ToString();
string userid = Session["uname"].ToString();
string date = Session["day"].ToString();
string tempclass = Session["uclass"].ToString();

SqlConnection con4 = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=F:\mmm\portal\App_Data\student.mdf;Integrated Security=True;User Instance=True");
SqlCommand cmd4 = new SqlCommand("insert into " + tempclass + "track values ('" + userid + "','" + sub + "','" + date + "')", con4);
con4.Open();

cmd4.ExecuteNonQuery();
con4.Close();

//Response.Redirect("tracker.aspx");
}
else
{
}
}
}
}

最佳答案

来自 MSDN(http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.checkbox.oncheckedchanged.aspx):

A CheckBox control must persist some values between posts to the server for this event to work correctly. Be sure that view state is enabled for this control.

当 (html) 复选框未选中并提交表单时,不会将任何值传递回服务器,这就是为什么您需要为此控件启用 ViewState,以便 ASP.NET 跟踪状态(已选中/未选中).

关于c# - 为什么 checkedchanged 事件不会在取消选中 asp.net 中的复选框时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15772642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com