2017-04-30 73 views
-3

我有一個網絡表單。在下拉列表selectedindexchanged事件我運行給定的代碼來填充表單的細節。Asp.net webforms更新

protected void ddlRequest_SelectedIndexChanged(object sender, EventArgs e) 
     { 
      if (IsPostBack) 
      { 
       string cs = ConfigurationManager.ConnectionStrings["db"].ConnectionString; 
       using (SqlConnection conn = new SqlConnection(cs)) 
       { 
        SqlCommand cmd = new SqlCommand("select * from tbl_Requests where RequestID = '" + ddlRequest.SelectedItem.Value + "'", conn); 
        SqlDataAdapter Adpt = new SqlDataAdapter(); 
        DataSet dsrequest = new DataSet(); 

        try 
        { 

         Adpt.SelectCommand = cmd; 

         Adpt.Fill(dsrequest); 
         foreach (DataRow dr in dsrequest.Tables[0].Rows) 
         { 
          string RequesterID = dsrequest.Tables[0].Rows[0]["RequesterID"].ToString(); 
          string OrgID = dsrequest.Tables[0].Rows[0]["OrgID"].ToString(); 
          string CaseID = dsrequest.Tables[0].Rows[0]["CaseID"].ToString(); 
          string PatientFName = dsrequest.Tables[0].Rows[0]["PatientFName"].ToString(); 
          string PatientLName = dsrequest.Tables[0].Rows[0]["PatientLName"].ToString(); 
          string PatientAge = dsrequest.Tables[0].Rows[0]["PatientAge"].ToString(); 
          string PatientGender = dsrequest.Tables[0].Rows[0]["PatientGender"].ToString(); 
          string MedicalCondition = dsrequest.Tables[0].Rows[0]["MedicalCondition"].ToString(); 
          string PatientMoNo = dsrequest.Tables[0].Rows[0]["PatientMoNo"].ToString(); 
          string Remark = dsrequest.Tables[0].Rows[0]["Remark"].ToString(); 
          string RequestStatus = dsrequest.Tables[0].Rows[0]["RequestStatus"].ToString(); 



          ddlRequesterID.SelectedValue = RequesterID; 
          ddlOrgID.SelectedValue = OrgID; 
          txtCaseID.Text = CaseID; 
          txtPatientFName.Text = PatientFName; 
          txtPatientLName.Text = PatientLName; 
          txtPatientAge.Text = PatientAge; 
          txtPatientGender.Text = PatientGender; 
          txtMedicalCondition.Text = MedicalCondition; 
          txtPatientMoNo.Text = PatientMoNo; 
          txtRemark.Text = Remark; 
          ddlRequestStatus.SelectedValue = RequestStatus; 

         } 

        } 
        catch (Exception ex) 
        { 

        } 

        finally 
        { 

        } 
       } 
      } 
     } 

一旦用戶更新提交按鈕單擊事件上的必填字段我想用各種輸入字段中的值更新記錄。

以下給出的代碼。

protected void btnSubmitReq_Click(object sender, EventArgs e) 
     { 
      if (IsPostBack) 
      { 
       if (ddlRequest.SelectedValue == "0") 
       { 
        string cs = ConfigurationManager.ConnectionStrings["db"].ConnectionString; 
        using (SqlConnection conn = new SqlConnection(cs)) 
        { 

         SqlCommand cmd = new SqlCommand("spInsRequests", conn); 
         cmd.CommandType = CommandType.StoredProcedure; 
         cmd.Parameters.Add("@RequesterID", SqlDbType.Int).Value = ddlRequesterID.SelectedValue; 
         cmd.Parameters.Add("@OrgID", SqlDbType.Int).Value = ddlOrgID.SelectedValue; 
         cmd.Parameters.Add("@CaseID", SqlDbType.NVarChar).Value = txtCaseID.Text; 
         cmd.Parameters.Add("@PatientFName", SqlDbType.NVarChar).Value = txtPatientFName.Text; 
         cmd.Parameters.Add("@PatientLName", SqlDbType.NVarChar).Value = txtPatientLName.Text; 
         cmd.Parameters.Add("@PatientAge", SqlDbType.NVarChar).Value = txtPatientAge.Text; 
         cmd.Parameters.Add("@PatientGender", SqlDbType.NVarChar).Value = txtPatientGender.Text; 
         cmd.Parameters.Add("@MedicalCondition", SqlDbType.NVarChar).Value = txtMedicalCondition.Text; 
         cmd.Parameters.Add("@PatientMoNo", SqlDbType.NVarChar).Value = txtPatientMoNo.Text; 
         cmd.Parameters.Add("@Remark", SqlDbType.NVarChar).Value = txtRemark.Text; 
         cmd.Parameters.Add("@RequestStatus", SqlDbType.NVarChar).Value = ddlRequestStatus.SelectedValue; 
         cmd.Parameters.Add("@strOwner", SqlDbType.VarChar).Value = User.Identity.Name; 
         cmd.Parameters.Add("@dbTstamp", SqlDbType.DateTime2).Value = DateTime.Now; 
         conn.Open(); 
         cmd.ExecuteNonQuery(); 

         Response.Redirect(Request.Url.AbsoluteUri); 

        } 
       } 
       else 
       { 
        string cs = ConfigurationManager.ConnectionStrings["db"].ConnectionString; 
        using (SqlConnection conn = new SqlConnection(cs)) 
        { 

         SqlCommand cmd = new SqlCommand("spUpdRequests", conn); 
         cmd.CommandType = CommandType.StoredProcedure; 
         cmd.Parameters.Add("@RequesterID", SqlDbType.Int).Value = Convert.ToInt32(ddlRequesterID.SelectedValue); 
         cmd.Parameters.Add("@OrgID", SqlDbType.Int).Value = Convert.ToInt32(ddlOrgID.SelectedValue); 
         cmd.Parameters.Add("@CaseID", SqlDbType.NVarChar).Value = txtCaseID.Text; 
         cmd.Parameters.Add("@PatientFName", SqlDbType.NVarChar).Value = txtPatientFName.Text; 
         cmd.Parameters.Add("@PatientLName", SqlDbType.NVarChar).Value = txtPatientLName.Text; 
         cmd.Parameters.Add("@PatientAge", SqlDbType.NVarChar).Value = txtPatientAge.Text; 
         cmd.Parameters.Add("@PatientGender", SqlDbType.NVarChar).Value = txtPatientGender.Text; 
         cmd.Parameters.Add("@MedicalCondition", SqlDbType.NVarChar).Value = txtMedicalCondition.Text; 
         cmd.Parameters.Add("@PatientMoNo", SqlDbType.NVarChar).Value = txtPatientMoNo.Text; 
         cmd.Parameters.Add("@Remark", SqlDbType.NVarChar).Value = txtRemark.Text; 
         cmd.Parameters.Add("@RequestStatus", SqlDbType.NVarChar).Value = ddlRequestStatus.SelectedValue; 
         cmd.Parameters.Add("@strOwner", SqlDbType.NVarChar).Value = User.Identity.Name; 
         cmd.Parameters.Add("@dbTstamp", SqlDbType.DateTime2).Value = DateTime.Now; 
         cmd.Parameters.Add("@Original_RequestID", SqlDbType.Int).Value = Convert.ToInt32(ddlRequest.SelectedValue); 
         cmd.Parameters.Add("@RequestID", SqlDbType.Int).Value = Convert.ToInt32(ddlRequest.SelectedValue); 

         conn.Open(); 
         cmd.ExecuteNonQuery(); 

         Response.Redirect(Request.Url.AbsoluteUri); 
        } 
       } 
      } 
     } 

這不會更新記錄。

請幫忙。

回答

0

已解決。

我在ddlRequest中導致此問題的EnableViewState =「false」。我刪除它。現在一切工作正常。

謝謝。