2014년 8월 20일 수요일

C# 에서 비하인드 코드에서 html 스타일 시트 변경하기.


일반적으로 제공되는 C# 오브젝트들은 그냥 cssClass 를 지정하면 되지만, 그렇지 않은 경우들. 예를 들어 <a href=..."> 라던가... <table></table> 라던가...

이런 일반적인 html 태그들을 동적으로 스타일 시트를 적용하고 싶을때는 어떻할까?
물론 C# 용 오브젝트로 변환해서 작업 해주면 되긴 하지만, 이미 일반 html 태그로 작업이 다 되어 있는 상태에서 이걸 전부 C# 오브젝트들로 변경하기는 정말 귀찮다.

그냥 간단하게 그 태그만 스타일을 바꾸면 된다면 그냥 그 태그만 runat="server" 로 지정하고 속성을 바꾸어 주면 된다.

UI 단에 아래와 같이 id 를 지정해 놓고...

<a href="../Board/BoardList.aspx" runat="server" id="link01">게시판관리</a>


CS 단에서


switch (SetMenu)
        {
            default :
                link01.Attributes["class"] = "on";
                break;
        }


이렇게 Attributes[] 속성을 지정해 주면 된다.
실제로 html 태그의 어지간한 속성은 이런식으로 직접 비하인드 코드 단에서 컨트롤 할 수 있다.

예를 들어 스타일을 직접 지정하고 싶다면.

        btnSearch.Attributes["style"] = "text-align:center;";

이렇식으로 Attributes 에 지정할 속성을 지정하고 그곳에 속성값을 지정하면, 그대로 해당 컴포넌트의 속정을 지정할 수 있다.