2012-08-22 1 views
2

데이터베이스에서 리턴 된 문자열 값이 있습니다. 값은 항상 "빨간색"또는 "녹색"이됩니다. 이 문자열 값을 기반으로 내 중계기에서 레이블의 forecolor를 변경하려고합니다. 값이 "Red"이면 레이블의 forecolor가 빨간색이어야하며 그 반대의 경우도 마찬가지입니다.db 값에 따라 repeater에서 동적으로 레이블 포어 색을 변경하십시오.

내 ASP 페이지에서이 코드를 사용하여 시도 : 나는의 폭을 설정하려고하여 비슷한 문제가 전에 있었다

Specified cast is not valid. 

:

ForeColor='<%# Eval("Color")%>' 

그러나 나는 흐르는 오류

<asp:Image 
    ID="Image1" 
    runat="server" 
    Width='<%# System.Web.UI.WebControls.Unit.Parse(Eval("ImageSize").ToString()) %>' 
    ImageUrl="~/Images/ProgressBar.jpg"/> 

문제는 내가 사용합니까 어떻게 : 이미지가 동적으로이 같은 값을 캐스팅 결국 시스템 컬러와 같은 기술?

감사 J는

답변

7

ForeColorColor 객체가 아닌 문자열을 필요로보십시오.

그래서 당신은 ColorTranslator.FromHtml 사용할 수 있습니다

ForeColor='<%# Drawing.ColorTranslator.FromHtml(Eval("Color").ToString())%>' 
2

style='color:<%# Eval("Color")%>' 

대신

관련 문제