2014-10-06 3 views
0

업데이트 : 문제가 발견되었습니다. 텍스트 속성은 aspx 파일에서 이전 값을 사용하고 있습니다. 포스트 백 동안 속성 변경을 고려하지 않습니다. 이제, 그 문제를 해결하는 방법은 다른 것입니다.ASP.Net 텍스트 상자에 텍스트 속성이 있지만 브라우저에 올바른 값이 표시됩니다.

원래 질문 : 요청한 레코드에 따라 페이지로드시 값을 표시하는 텍스트 상자가 내 페이지에 있습니다.

<ASP:TEXTBOX id="txtWarrantyNoValue" runat="server" CssClass="LabelTextBox" ReadOnly="True"></ASP:TEXTBOX> 

페이지로드시 쿼리 문자열을 기반으로 완벽하게 작동하는 텍스트 속성을 설정했습니다. 그러나 다시 게시 할 때 txtWarrantyNoValue.Text 값은 빈 문자열입니다. 왜 이런 일이 일어나는지 알 수 없습니다.

편집 :

내가 사용하는 것이 더 나은 생각
 protected void Page_Load(object sender, System.EventArgs e) { 

     try { 

      if (Request.QueryString[ "MESSAGE" ] != null && Request.QueryString[ "MESSAGE" ] != "") objErrorDisplay.MessageCode = Request.QueryString[ "MESSAGE" ]; 

      string strWarrCommData = Request.QueryString[ Constants.QS_DATA_FLAG ]; 

      if (strWarrCommData != null && strWarrCommData.Trim().Equals(Constants.QS_COMMISSION_DATA)) bWarrantyScreen = false; 


      strScreenMode = Request.QueryString[ Constants.SESSION_MODE ]; 

      if (strScreenMode == null) strScreenMode = Constants.SCREEN_MODE_MODIFY; 
      if (strScreenMode == "")  strScreenMode = Constants.SCREEN_MODE_MODIFY; 

      hdnScreenMode.Value = strScreenMode; 

      ApplyPermissions(); 

      Localize(); 

      BindDropDowns(); 

      if (!IsPostBack && strScreenMode != Constants.SCREEN_MODE_NEW) this.GetWarrantyContractData();    

      SetControlStyleByScreenMode(); 

     } 
     catch (FANUCBaseException fbeEx) { 
      objErrorDisplay.ErrorToLog = fbeEx; 
     } 
    } 


     private void BindDropDowns() { 

     this.ddlSalesType.Attributes.Add("DataSource", "DefaultDataIslands"); 
     this.ddlSalesType.Attributes.Add("DataMember", Constants.DI_SALES_TYPE); 
     this.ddlSalesType.Attributes.Add("IsBlankReqd", "Y"); 
     this.ddlSalesType.Attributes.Add("SelectedValue", Request.Form[ "ddlSalesType" ]); 

     this.ddlCurrency.Attributes.Add("DataSource", "DefaultDataIslands"); 
     this.ddlCurrency.Attributes.Add("DataMember", Constants.DI_CURRENCY_CODE); 
     this.ddlCurrency.Attributes.Add("IsBlankReqd", "Y"); 
     this.ddlCurrency.Attributes.Add("SelectedValue",Request.Form[ "ddlCurrency" ]); 
    } 

Function to get the data 
virtual public Row[] GetWarrantyContract(Row objWarrantyFilter, FANUC.Common.BaseClasses.PagingEventArgs e) { 

     string strSqlQuery 
      = " SELECT" 
      + " WRNT_Warranty_No," 
      + " WRNT_Seiban," 
      + " WRNT_HQ_Seiban," 
      + " CASE" 
      + " WHEN WRNT_Data_Flag = '1' then 'Warranty'" 
      + " WHEN WRNT_Data_Flag = '2' then 'Commission'" 
      + " ELSE ''" 
      + " END AS WRNT_Data_Flag," 
      + " WRNT_Data_Flag as WRNT_Data_Flag_Value," 
      + " WRNT_Unique_Key," 
      + " CASE" 
      + " WHEN WRNT_IM_Flag = 'I' then 'Installation'" 
      + " WHEN WRNT_IM_Flag = 'M' then 'Maintenance'" 
      + " WHEN WRNT_IM_Flag = 'X' then 'Completed'" 
      + " ELSE ''" 
      + " END AS WRNT_IM_Flag," 
      + " WRNT_IM_Flag as WRNT_IM_Flag_Value," 
      + " WRNT_System_OS_No," 
      + " WRNT_Entry_Seiban_Date," 
      + " WRNT_Warranty_Print_Date," 
      + " WRNT_MTB_Code," 
      + " WRNT_MTB_Name," 
      + " WRNT_Product_ID," 
      + " WRNT_Product_Name," 
      + " WRNT_Product_Serial_No_FA," 
      + " WRNT_Product_Serial_No_ROBO," 
      + " WRNT_Dealer_ID," 
      + " WRNT_Dealer_Name," 
      + " WRNT_End_Cust_ID," 
      + " WRNT_End_Cust_Name," 
      + " WRNT_Total_Amount," 
      + " WRNT_POS_No," 
      + " WRNT_Spec," 
      + " WRNT_Sales_Divide_No," 
      + " WRNT_Sales_Type," 
      + " WRNT_Shipped_Date," 
      + " WRNT_Commission_Fee," 
      + " WRNT_Commission_Rate," 
      + " WRNT_Without_Tax_Fee," 
      + " WRNT_Tax_Fee," 
      + " WRNT_Tax_Rate," 
      + " WRNT_Actual_Destination," 
      + " WRNT_Sales_Group_Code," 
      + " WRNT_Sales_Group_Name," 
      + " WRNT_HQ_To_Country," 
      + " WRNT_HQ_Destination," 
      + " WRNT_Invoiced_Flag," 
      + " WRNT_Invoive_No," 
      + " WRNT_Invoice_Date," 
      + " WRNT_Warranty_Start_Date," 
      + " WRNT_Warranty_End_Date," 
      + " WRNT_Local_Sale_Flag," 
      + " WRNT_Currency_Code," 
      + " WRNT_Seiban_Code," 
      + " WRNT_Comments," 
      + " Use_Count," 
      + " WRNT_Deferred_Revenues_Generated_Flag," 
      + " WRNT_CreatedDate " 
      + " FROM" 
      + " TBL_Warranty"; 

     Row objFilter = new Row(); 

     objFilter[ "WRNT_Warranty_No~like" ]    = objWarrantyFilter[ "WRNT_Warranty_No" ]; 
     objFilter[ "WRNT_Seiban~like" ]      = objWarrantyFilter[ "WRNT_Seiban" ]; 
     objFilter[ "WRNT_Entry_Seiban_Date~>=*_From" ]  = objWarrantyFilter[ "WRNT_Entry_Seiban_Date_From" ]; 
     objFilter[ "WRNT_Entry_Seiban_Date~<=*_To" ]  = objWarrantyFilter[ "WRNT_Entry_Seiban_Date_To" ]; 
     objFilter[ "WRNT_End_Cust_Name~like" ]    = objWarrantyFilter[ "WRNT_End_Cust_Name" ]; 
     objFilter[ "WRNT_Warranty_Print_Date~>=*_From" ] = objWarrantyFilter[ "WRNT_Warranty_Print_Date_From" ]; 
     objFilter[ "WRNT_Warranty_Print_Date~<=*_To" ]  = objWarrantyFilter[ "WRNT_Warranty_Print_Date_To" ]; 
     objFilter[ "WRNT_Warranty_End_Date~>=*_From" ]  = objWarrantyFilter[ "WRNT_Warranty_End_Date_From" ]; 
     objFilter[ "WRNT_Warranty_End_Date~<=*_To" ]  = objWarrantyFilter[ "WRNT_Warranty_End_Date_To" ]; 
     objFilter[ "WRNT_MTB_Name~like" ]     = objWarrantyFilter[ "WRNT_MTB_Name" ]; 
     objFilter[ "WRNT_Product_ID~like" ]     = objWarrantyFilter[ "WRNT_Product_ID" ]; 
     objFilter[ "WRNT_HQ_Destination~like" ]    = objWarrantyFilter[ "WRNT_HQ_Destination" ]; 
     objFilter[ "WRNT_Total_Amount" ]     = objWarrantyFilter[ "WRNT_Total_Amount" ]; 
     objFilter[ "WRNT_Product_Serial_No_ROBO~like" ]  = objWarrantyFilter[ "WRNT_Product_Serial_No_ROBO" ]; 
     objFilter[ "WRNT_Product_Serial_No_FA~like" ]  = objWarrantyFilter[ "WRNT_Product_Serial_No_FA" ]; 
     objFilter[ "WRNT_Invoiced_Flag" ]     = objWarrantyFilter[ "WRNT_Invoiced_Flag" ]; 
     objFilter[ "WRNT_Local_Sale_Flag" ]     = objWarrantyFilter[ "WRNT_Local_Sale_Flag" ]; 
     objFilter[ "WRNT_Data_Flag" ]      = objWarrantyFilter[ "WRNT_Data_Flag" ]; 
     objFilter[ "WRNT_HQ_Seiban~like" ]     = objWarrantyFilter[ "WRNT_HQ_Seiban" ]; 


     CommonBQ objCommonBQ   = new CommonBQ(); 
     string  strSearchClause  = objCommonBQ.CreateFilter(objFilter); 
     int   iWarrantyFromIndex = strSearchClause.IndexOf("WRNT_Warranty_End_Date_From"); 
     int   iWarrantyToIndex = strSearchClause.IndexOf("WRNT_Warranty_End_Date_To"); 

     if (iWarrantyFromIndex != -1 && iWarrantyToIndex == -1) { 

      int iWarrantyEndSpaceIndex = strSearchClause.IndexOf(" ", iWarrantyFromIndex); 

      strSearchClause = strSearchClause.Substring(0, iWarrantyEndSpaceIndex) + " OR WRNT_Warranty_End_Date IS NULL " + strSearchClause.Substring(iWarrantyEndSpaceIndex + 1) ;     
     } 


     string strCountQuery = " SELECT COUNT(1) FROM TBL_Warranty"; 


     string strFinalString = ""; 
     string strConnector = " WHERE "; 

     if (!strSearchClause.Equals("")) { 

      strFinalString = strSqlQuery + strConnector + strSearchClause ; 

      strCountQuery += strConnector + strSearchClause ; 
     } 
     else { 

      strSqlQuery  += strConnector ; 

      int  iFirstPos  = strSqlQuery.IndexOf("AND", 0); 
      string strFirstPart = strSqlQuery.Substring(0, iFirstPos); 
      string strSecondPart = strSqlQuery.Substring(iFirstPos + 3, strSqlQuery.Length - iFirstPos - 3); 

      strFinalString = strFirstPart + strSecondPart; 
     } 


     strFinalString += " ORDER BY CAST(WRNT_Warranty_No AS INT) DESC "; 

     return GetRows(strFinalString, strCountQuery, CreateParameterArray(objWarrantyFilter), CommandType.Text, null, e); 
    } 
+0

추가되었습니다. 다른 기능을 위해 코드를 게시해야한다면 알려주십시오. – jitendragarg

+0

@jitendragarg 그래서 진짜 문제는 무엇입니까? 텍스트 상자의 값을 얻을 수 없거나 값이 쿼리 문자열에 없을 때 텍스트 상자가 마술처럼 채워지는 것을 궁금해하십니까? – Leron

+0

값에 액세스 할 수없는 것 같습니다. 업데이트 화면입니다. 다시 게시 할 때 수정하기 전에 해당 레코드가 있는지 확인하기 위해 텍스트 값을 사용합니다. 'rowWarranty [ "WRNT_Warranty_No"] \t = txtWarrantyNoValue.Text.Trim();'이 코드는 이전에 작동 했었고 다른 페이지에서도 잘 작동하지만 여기서는 텍스트 값이 빈 문자열이라고 말합니다. – jitendragarg

답변

0

ViewState[""] 또는 SesionState[""] 모든 코드 조건의 내부에 미세 당신

페이지로드 이벤트
+0

페이지 속성에서 viewstate를 활성화했습니다. 다음은? – jitendragarg

0

사용 if(!IsPostBack)

if(!IspostBack) 
    { 
     //Your code goes here 
    } 

쓰기를 작동 저놈 괜찮을 겁니다.

+0

새로운 답변을 게시하는 대신 기존 답변을 수정하는 것이 좋습니다. – CoderHawk

+0

이 수표는 이미 있습니다. – jitendragarg

관련 문제