2010-08-08 2 views
13

여러 링크 단추를 렌더링 asp.net 중계 컨트롤 내에서 asp.net linkbutton했습니다. 각 링크 버튼의 스타일을 동적으로 설정하고 싶습니다.asp.net 컨트롤의 스타일 특성에서 DataBinder.Eval() 사용

나는

style="color:#6D7B8D;font-size:<%# DataBinder.Eval(Container.DataItem, "Title")%>;" 

노력하고있어하지만 난 "서버 태그가 잘 형성되지 않은"오류를 얻고있다.

아이디어가 있으십니까? 그런

답변

20

나의 이해는 저것을 사용하여 ser ver 태그를 사용하려면 속성 값에 대해 server 태그를 사용해야합니다. 이것을 다음으로 변경하십시오 :

style='<%# "color:#6D7B8D;font-size:" + DataBinder.Eval(Container.DataItem, "Title") + ";" %>' 

전체 스타일 속성이 서버 태그 사이의 C# 코드에서 어떻게 구성되는지 확인하십시오.

+0

을 trenary 연산자를 사용할 수 있습니다 : 방금 입력 스타일 = <% # "색상 : # 6D7B8D; font- 크기 : "+ DataBinder.Eval (Container.DataItem,"Title ") +"; " %> – Franziee

+0

당신의 코드가 나에게 perfet 작품, 고마워 :-) –

4

쓰기를 대신 스타일 주위에 따옴표 작은 따옴표로

style='color:#6D7B8D;font-size:<%# DataBinder.Eval(Container.DataItem, "Title")%>;' 

0

<%# Databinder.Eval(Container.DataItem, "Title") %> 

에 제거

Text='<%# Databinder.Eval(Container.DataItem, "Title") %>' 
0

우리는 또한 아포스트로피가 필요하지 않습니다 내 관점에서 정의에 그건 ... 내 글꼴 크기

style='<%# "color:#6D7B8D;font-size:"Convert.ToInt32(DataBinder.Eval(Container.DataItem, "fontSize"))<5?"40":"30");" %>'