2012-04-08 2 views
1

나는 .... 않도록이 작업을하기 위해asp.net vb.net 왜 이것이 작동하지 않습니까?

Dim AnnEnt As Label = FormView1.FindControl("Holiday_RemainingLabel") 

    txtNoofDays.Text.ToString() 
    AnnEnt.Text.ToString() 

    If txtNoofDays.Text >= AnnEnt.Text Then 

     lblHolRequestResponse.Text = "Your holiday could not be saved" 
    Else 

나는이로 변경하지 최근했는데 더 이상

Dim remain As TextBox = FormView1.FindControl("Holiday_RemainingTextBox") 



    txtNoofDays.Text.ToString() 
    remain.Text.ToString() 

    If txtNoofDays.Text >= remain.Text Then 

     lblHolRequestResponse.Text = "Your holiday could not be saved" 

    Else 

가있는 텍스트 상자의 차이 무엇입니까 작동 사용 formview에서이 작업을 유지하려면 formview 및 레이블을?

난 이후 시도했습니다 ...

Dim days = txtNoofDays.Text 

    days.ToString() 
    AnnEnt.Text.ToString() 
    remain.Text.ToString() 
    If remain.Text.ToString < days.ToString Then 
     lblHolRequestResponse.Text = "Your holiday could not be saved" 
+2

코드를 이해할 수 없습니다. 'txtNoofDays.Text.ToString()'은 문자열이 아무 것도 할당되지 않았기 때문에 본질적으로 아무것도하지 않습니다. 'txtNoofDays.Text> = remaining.Text'는 (정렬 순서에 따라) 두 문자열을 알파벳순으로 비교합니다. 정말로하고 싶니? –

+0

두 숫자입니다. 번호 1이 번호 2보다 높은 경우 메시지를 보여 주면됩니다. 몇 가지 방법으로 시도했지만 아무도 작동하지 않는 것 같습니다. – user1055487

+0

어떻게 작동하지 않습니까? "remaining"이라는 TextBox를 찾을 수 없으므로 Null 참조 오류가 발생합니까? NoOfDays는 나에게 숫자가 될 수있는 것처럼 보입니다. 문자열 "2"> "10"을 비교 중입니다 ... –

답변

3

는 숫자 문자열을 비교하려면, 숫자로 캐스팅. 예를 들어

(그들은 ints입니다 asssuming) :

Int32.Parse Method

Dim remain As TextBox = FormView1.FindControl("Holiday_RemainingTextBox") 
Dim remaining = Int32.Parse(remain.Text) 
Dim numOfDays = Int32.Parse(txtNoofDays.Text) 

If numOfDays >= remaining Then 
    lblHolRequestResponse.Text = "Your holiday could not be saved" 
End If 
그렇지 않으면 당신이 알파벳 순으로 비교하고 있습니다.

String.CompareTo Method

+0

+1; 또한 "휴가를 구할 수 없습니다"- 불쌍한 휴가! – dash

관련 문제