2017-11-25 16 views
0

cshtml 페이지에서 데이터베이스 값의 함수로 클래스를 선택할 수 있습니다. 예 :항목 값에서 CSS 클래스 선택

<div class="alert @item.State" role="alert">@item.State</div> 

"주"는 다음과 같이 정의 내 테이블의 열거입니다 :

public enum States 
{ 
    Ready, 
    Setup, 
    Pause, 
    Error, 
    Maintenance, 
    Emergency, 
    Disconnected 
} 

면도기 구문은 위의 항목 값의 함수 내 경고에 클래스를 추가합니다. 좋은!

하지만 이제이 클래스를 부트 스트랩의 것으로 번역해야합니다. 예 :

Ready: alert-primary 
Pause or Disconnected: alert-secondary 
Error: alert-danger 
etc... 

내가 수동 면도기와 함께이 수 있어요,하지만 난 편리한 방법 (메타 코드) 같은 것을 직접 CSS에서이 거기 있는지 궁금 :

.Ready { 
    return alert-primary 
} 

.Pause, .Disconnect { 
    return alert-secondary 
} 
+0

안녕하세요, sass 이하와 같은 전 처리기를 사용하십니까? – Kangouroops

+0

현재, 나는 그렇지 않습니다. – Mark

+0

당신은 수업을 연장 할 수 있습니다. 그것은 OOP 상속과 똑같이 작동합니다. –

답변

1

당신은을 선언 할 수 있습니다 이제 다음 줄

를 사용하여 해당 클래스 이름을 표시 할 수 있습니다

string[] ClassList = new string[] 
{ 
    "ReadyClass", "SetupClass", "PauseClass", "ErrorClass", "MaintenanceClass", "EmergencyClass", "DisconnectedClass" 
}; 

: 클래스 이름이 포함됩니다 문자열의 배열

@ClassList[(int)item.State] 

테스트하지 않았지만 제대로 작동합니다.

+0

이것은 일반적으로 "면도기로 수동으로 수행하는"그룹에 속하지만 실용적인 솔루션입니다. – Mark