Hi.
Mình tạo 1 trang web trong đó có phần edit thông tin của defect, khi load trang web thì lấy dữ liệu sẵn có của defect đổ vào những control trong form, sau đó chỉnh sửa trên form rồi update lại vào database.
Mã:
SqlConnection con = new SqlConnection("server=.;database=DefectTrackingSystem;uid=sa;pwd=KimLien"); SqlDataAdapter adapt; ws.WebService ww = new ws.WebService(); protected void Page_Load(object sender, EventArgs e) { Label1.Text = Session["DefID"].ToString(); int id = int.Parse(Session["DefID"].ToString()); // Load dữ liệu lên các control if (con.State == ConnectionState.Closed) con.Open(); adapt = new SqlDataAdapter("select * from Defect where DefectID ='" + id + "'", con); DataSet ds = new DataSet(); adapt.Fill(ds); DataTable dt = ds.Tables["Defect"]; foreach (DataRow row in ds.Tables[0].Rows) { txtTitle.Text = row["DefectName"].ToString(); ddlComp.SelectedValue = row["CompID"].ToString(); ddlSeve.SelectedValue = row["SeverityID"].ToString(); ddlPrio.SelectedValue = row["Priority"].ToString(); rbPlatform.SelectedValue = row["Platform"].ToString(); ddlDiag.SelectedValue = row["DiagnosisID"].ToString(); txtDescription.Text = row["Description"].ToString(); txtResolution.Text = row["Resolution"].ToString(); ddlStatus.SelectedValue = row["StatusID"].ToString(); ddlAssign.SelectedValue = row["Assigned"].ToString(); } con.Close(); } protected void btnEdit_Click(object sender, EventArgs e) { if ((txtTitle.Text == "") || (txtDescription.Text == "") || (txtResolution.Text == "")) { Alert.Show("Some field has been left blank !"); } else { // Update dùng web service bool check = ww.EditDefect(int.Parse(Session["DefID"].ToString()), txtTitle.Text, int.Parse(ddlSeve.SelectedItem.Value), int.Parse(ddlComp.SelectedItem.Value), rbPlatform.SelectedItem.Text, txtDescription.Text, int.Parse(ddlDiag.SelectedValue), int.Parse(ddlAssign.SelectedItem.Value), int.Parse(Session["ID"].ToString()), int.Parse(ddlStatus.SelectedItem.Value), txtResolution.Text, int.Parse(ddlPrio.SelectedItem.Value)); if (check == false) { Alert.Show("Edit failed ! Please try again"); } else { Response.Redirect("~/UserPage/Home.aspx"); } } }
Khi mình edit dữ liệu thì có vẻ như nó không lấy biến mà mình đã chỉnh sửa trên form mà lấy những gì mình đã load lên rồi update lại. Ví dụ như dòng này :
txtTitle.Text = row["DefectName"].ToString();
Mình xóa trắng luôn rồi save mà nó vẫn lưu giá trị như cũ.
Vấn đề mười mươi là nằm ngay chỗ page load vì mình disable đoạn code đó đi thì save ngon lành.
Nhờ các bạn góp ý xem xử lý chỗ này thế nào, hoặc có cách nào để load dữ liệu hay hơn không [IMG]images/smilies/biggrin.png[/IMG]
Thanks...
View more random threads:
Thông qua phân tích dữ liệu Google từ 86 quốc gia, mới đây, một công ty tại Anh đã công bố bảng xếp hạng kích tấc "cậu nhỏ" của các nước trên thế giới. Kết quả, hầu hết các nước xếp ở nhóm đầu của...
"Chim" của chàng trai Việt thuộc...