protected void Page_LoadComplete(object sender, EventArgs e) { if (ViewState["YCSId"] == null) { ReloadYCSId(null, null); } MySQLDatabase db = new MySQLDatabase(); var teacherId = new UserTable <ApplicationUser>(db).GetUserId(User.Identity.Name); #region Load Mark int teacherSubjectId = Convert.ToInt32( db.QueryValue("getTeacherSubjectId", new Dictionary <string, object>() { { "@TUN", User.Identity.Name }, { "@ycsid", ViewState["YCSId"] }, { "@psubjectid", ddlSubject.SelectedValue } }, true)); var res2 = db.Query("getMarkPortionIdByTSId", new Dictionary <string, object>() { { "@TSId", teacherSubjectId } }, true); marks.Controls.Clear(); //ViewState["clicks"] = new List<MarkPortion>(); foreach (var item in res2) { MarkPortion markPortion = LoadControl("~/User Control/MarkPortion.ascx") as MarkPortion; markPortion.PortionName = item["portionname"]; markPortion.MarkPortionId = Convert.ToInt32(item["markportionid"]); var resMark = db.Query("getMarkByMPIdSIdTid", new Dictionary <string, object>() { { "@MPId", item["markportionid"] }, { "@SId", ddlStudent.SelectedValue }, { "@Tid", ddlTerm.SelectedValue } }, true); if (resMark.Count == 0) { markPortion.Mark = null; markPortion.MarkId = null; } else { markPortion.Mark = Convert.ToInt32(resMark[0]["mark"]); markPortion.MarkId = Convert.ToInt32(resMark[0]["markid"]); } markPortion.SubmitClick += MarkPortion_SubmitClick; //AsyncPostBackTrigger trigger = new AsyncPostBackTrigger() { ControlID = markPortion.ID, EventName = "SubmitClick" }; //up.Triggers.Add(trigger); //(ViewState["clicks"] as List<MarkPortion>).Add(markPortion); marks.Controls.Add(markPortion); } #endregion }
private void MarkPortion_SubmitClick(object sender, EventArgs e) { MySQLDatabase db = new MySQLDatabase(); var teacherId = new UserTable <ApplicationUser>(db).GetUserId(User.Identity.Name); int mark; MarkPortion mp = (sender as MarkPortion); if (mp.MarkId == null) { if (int.TryParse(mp.Mark.ToString(), out mark)) { int SYCSRId = Convert.ToInt32(db.QueryValue("getSYCSRIdByYCSIdSId", new Dictionary <string, object>() { { "@YCSId", ViewState["YCSId"] }, { "@SId", ddlStudent.SelectedValue } }, true)); db.Execute("addMark", new Dictionary <string, object>() { { "@MPId", mp.MarkPortionId }, { "@SYCSRId", SYCSRId }, { "@termid", ddlTerm.SelectedValue }, { "@mark", mark }, { "@TUId", teacherId } }, true); } } else { db.Execute("updateMark", new Dictionary <string, object>() { { "@pid", mp.MarkId }, { "@mark", mp.Mark } }, true); } }