2013-06-12 5 views
23

aspx 페이지의 다음 eval에서 else if를 사용하는 방법이 있습니까?aspx 페이지에서 else를 사용하여 else를 사용하는 경우

가 현재 내 사업부는 다음과 같다 :

<div class="tooltip" style="display: none">                 
     <div style="text-align: center; font-weight: normal"> 
       Value = <%# Eval("Percentage") + "%" %>  
     </div> 
    </div> 

내가 내 사업부에 다음과 같은 논리를 사용하고 싶습니다 :

If(Percentage < 50) 
    display "0 %" 
    else 
    display "percentage" 

나는 이런 식으로 뭔가를 시도했지만 작동하지 않습니다

if (<%# Eval("Percentage") %> < 50) 
{ 
    Eval("0"); 
} 
else 
{ 
    <%# Eval("PassPercentage") + "%" %> 
} 

aspx 페이지에서 이러한 작업을 수행 할 수 있는지 알고 싶습니다. 나는 aspx.cs.에서 그것을 할 수 없다.

+6

왜 이것에 대한 코드 숨김 클래스를 사용할 수 없습니다를 변경할 수없는 경우 제안? – Andrei

+0

jquery 툴팁에 div를 사용하고 있습니다. 나는 aspx 페이지에서 그것을하고 싶습니다. 그것이 가능하다면. – CodeNinja

+0

삼진 연산자를 사용할 수 있습니다 – emd

답변

45

당신이 절대적으로 코드 숨김 사용하지 않을 경우,이 조건부 연산자를 시도 할 수 있습니다 :

<%# ((int)Eval("Percentage") < 50) ? "0 %" : Eval("Percentage") %> 

필드 Percentage에 정수가 들어 있다고 가정합니다.

+0

완벽! 이 작품! – CodeNinja

12

당신이 시도 할 수 C#

public string ProcessMyDataItem(object myValue) 
{ 
    if (myValue == null) 
    { 
    return "0 %""; 
    } 
    else 
    { 
    if(Convert.ToInt32(myValue) < 50) 
     return "0"; 
    else 
     return myValue.ToString() + "%"; 
    } 

} 

ASP

<div class="tooltip" style="display: none">                 
     <div style="text-align: center; font-weight: normal"> 
    Value =<%# ProcessMyDataItem(Eval("Percentage")) %> </div> 
</div> 
+0

+1 감사합니다. 이것은 역시 효과적인 해결책입니다. 하지만 뭔가를 aspx 페이지 자체에 할 찾고 있어요. – CodeNinja

+0

당신을 환영합니다. 그럼 Andrei 게시물은 당신에게 적합합니다 :) –

2

당신이 결합하려는 경우이 모델 클래스, 당신은 같은 해 새로운 읽기 전용 속성을 추가 할 수 있습니다

public string FormattedPercentage 
{ 
    get 
    { 
     If(this.Percentage < 50) 
      return "0 %"; 
     else 
      return string.Format("{0} %", this.Percentage)   
    } 
} 

그렇지 않으면 당신은 안드레이 나 코스 타스의 채널을 사용할 수 있습니다. 당신은 클래스 자체

+0

감사합니다. 도움이됩니다. 하지만 Percentage를 속성으로 사용하지 않습니다. 그러나 그것은 미래에 유용 할 수있는 무언가 일 것입니다. – CodeNinja

1
<%if (System.Configuration.ConfigurationManager.AppSettings["OperationalMode"] != "live") {%> 
         &nbsp;[<%=System.Environment.MachineName%>] 
         <%}%> 
0
<%# (string)Eval("gender") =="M" ? "Male" :"Female"%> 
+4

일반적으로 코드 전용 답변은 피하십시오. 'description '을 추가하거나 코드를 설명하는 데 도움이되는 컨텍스트를 표시하는 것이 좋습니다. 감사 – MickyD

관련 문제