2013-08-27 2 views
1
 if (Session["totalCost"] != null) 
     { 
      if (Session["totalCost"] != "confirm") 
      { 
       totRevenueLabel.Text = totalRevenueInteger.ToString(); 
       totalRevenueInteger += int.Parse(Session["totalCost"].ToString()); 
      } 

을 넣어되지 않은, 그것은 입력 문자열이 도와주세요입력 문자열 그러나 올바른 형식을

올바른 형식으로 넣어되지 않았습니다했다!

+1

어떤 라인이 불평입니까? Session [ "totalCost"]'의 값은 "confirm"이 아니지만 그 값은 무엇입니까? –

+0

totalRevenueInteger + = int.Parse (Session [ "totalCost"]. ToString()); –

+0

그리고 그 줄에 중단 점을두면 그 값은 무엇입니까? –

답변

1

오류는 정수를 구문 분석하려는 문자열에 실제로 유효한 정수가 들어 있지 않음을 의미합니다. Session["totalCost"].ToString())가 null 또는 비어

int i; 
if(int.TryParse(Session["totalCost"].ToString(), out i) 
{ 
    totalRevenueInteger = i; 
} 
+0

그래서 어떻게해야합니까, 제발 도와주세요! –

+0

Session [ "totalCost"]를 출력하고 왜 값이 정수가 아닌지 생각해야합니다. 일단 값이 정수가되도록. 제점을 수정하고 코드에 일부 확인 논리를 두어이. 제점을 다시 채우지 마십시오. – Kye

1

경우 int.parseinput string was not put correct format

보십시오 추가 오류 처리를 던지거나 int.TryParse을 사용하고 기본값을

예를의 provice됩니다

  if (Session["totalCost"] != "confirm") 
     { 
      totRevenueLabel.Text = totalRevenueInteger.ToString(); 

      int value = 0; 
      int.TryParse(Session["totalCost"].ToString(), out value); 

      totalRevenueInteger += value; 
     } 

또는

  if (Session["totalCost"] != "confirm") 
     { 
      totRevenueLabel.Text = totalRevenueInteger.ToString(); 

      string value = Session["totalCost"].ToString(); 

      totalRevenueInteger += !string.IsNullOrEmpty(value) ? int.TryParse(value) : 0; 
     } 
+0

나는 여전히 Session [ "...."! = 맨 위에는 null이 필요합니까? 덕분에 –

+0

나는 그것을 얻었지만 매번 60을 더한다. 나는 버튼을 누른다 : ( –

+0

'Session [ "totalCost"]'의 값이 60이기 때문에 우리가 볼 수있는 코드에서 볼 수있다. 어딘가에 다른 버그가있을 수 있습니다. 걸린다면 새로운 질문을 조사하고 게시 할 수 있습니다. –

2

귀하는

int.Parse(Session["totalCost"].ToString()); 

그래서이 Session["totalCost"] 문자열 형식의 숫자 값을 가지고 생각됩니다 분석된다. 그러나 이전에 당신은하고 있습니다 : Session["totalCost"] 문자열 형식으로 알파벳 포함되어 있음을 보여줍니다

if (Session["totalCost"] != "confirm") 

합니다. 두 문장은 서로 반대입니다. 이제는 문제를 찾을 수 있기를 바랍니다.

+0

'[ "totalCost"]'가'confirm'과 같지 않으면 코드가 암시한다고 생각합니다. 그러면이 숫자가됩니다. 구문 분석하기 전에 추가 검사가있는 한 논리적 인 것처럼 보입니다. –

관련 문제