2013-12-14 1 views
1
protected void ChkPayment_CheckChanged(object sender, EventArgs e) 
{ 
    foreach (GridViewRow gvrow in grvPaymentList.Rows) 
    { 
     var Selection = gvrow.FindControl("ChkSelected") as CheckBox; 

     decimal Total=0; 
     decimal abc=0; 
     if (Selection.Checked) 
     { 
      var moviePrice = gvrow.FindControl("MoviePrice") as Label ; 
      abc = Convert.ToDecimal(moviePrice.Text); 
     } 
     Total = Total + abc; 
     lblAmount.Text = Total.ToString(); 
    }   
} 

체크 박스를 선택하고 라벨의 총 금액을 확인하십시오. 문자열을 십진수로 변환 할 때 오류가 발생하여 어떻게 이룰 수 있습니까? 여기에서 수정해야그리드 뷰의 체크 박스를 체크하면서 금액을 계산하십시오.

답변

3

2 일 :

  1. moviePrice 변수는 따라서 당신이 진수로 변환 할 수없는 입력 레이블이다. 대신 moviePrice.Text를 사용해야합니다.
  2. 총계를 계산할 때는 총계 = 총계 + abc 여야합니다.

EDIT : 전체 변수를 루프 외부에서 선언해야합니다. 이제 루프 내에서 변수를 선언하므로 루프가 반복 될 때마다 변수가 재설정됩니다.

+0

두 번째를 확인해도 추가 할 수 없습니다. 루프를 사용해야합니다. – Michael

+1

내 대답이 업데이트되었습니다. 그게 도움이되는지 알려주세요. –

+1

완벽하게 작동합니다. 도움을 주신 @ shree.pat18에게 감사드립니다. – Michael