2009-12-21 2 views
0

C#의 else 문은 다음과 같이 매우 단순합니다.C# : else statemnt의 문자열 값 덮어 쓰기?

string BodyContent = ""; 
    if (Request.Form["value1"] != "") 
    { 
     BodyContent = "bla bla 1"; 

    } 

    else if (Request.Form["value2"] != "") 
    { 
     BodyContent = "bla bla 2"; 
    } 
else if (Request.Form["value3"] != "") 
{ 
    BodyContent = "bla bla 3"; 
} 
else { 
    BodyContent = "Error"; 
} 

내 문제으로 Request.Form [ "VALUE3은"]의 값을 가질 경우에도 그것이 가시적 인 VALUE1 BodyContent를 검사에서의 값이다. (어느 한 시점에서 값을 갖는 요청 양식 개체 중 하나 일 수 있으므로 value1과 value3에 모두 request.form 값이 있기 때문에 값이 아닙니다.

무엇이 잘못 되었나요?

답변

4

Request.Form["valueX"] != ""!string.IsNullOrEmpty(Request.Form["valueX"])으로 바꿔 무엇을하는지 확인하십시오.

+1

+1. Form 배열의 항목에 값이 없으면 빈 문자열이 아닌 null이됩니다. – RickNZ

+0

Spot on - 그게 효과적 이었어 :-) – cJockey

0

else-ifs 문자열을 실행 중이므로 true 인 첫 번째 조건이 변수를 설정하고 다른 조건은 확인되지 않습니다. 처음 두 조건이 사실이 아니라고 확신합니까?