1 回答

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個(gè)贊
枚舉BootstrapColor
應(yīng)該被視為表示層的東西。您是對(duì)的,在內(nèi)部微服務(wù)或應(yīng)用程序的較低層中使用它是不明智的。
來自較低層的 DTO 應(yīng)該包含有關(guān)正在發(fā)生的事情的信息,而不關(guān)心它將如何顯示給用戶。我期望一個(gè)具有Paid
、等值的枚舉,或者一組標(biāo)志 -等Unpaid
。Canceled
bool
IsPaid
IsCanceled
在表示層,您有兩個(gè)選擇:
將 DTO 投影到另一個(gè)包含
BootstrapColor
枚舉值的 DTO(手動(dòng)或使用 AutoMapper 等)。使用 DotVVM 數(shù)據(jù)綁定中的表達(dá)式在標(biāo)記中進(jìn)行轉(zhuǎn)換。
對(duì)于簡(jiǎn)單的情況,我會(huì)選擇第二個(gè)選項(xiàng)。
正確的語法<bs:ColorDecorator>
是這樣的:
<RowDecorators> <bs:ColorDecorator Color="{value: State == OrderState.Confirmed ? BootstrapColor.Success : BootstrapColor.Danger }" /> </RowDecorators>
您需要添加適當(dāng)?shù)?code>@import指令,以便枚舉能夠正確解析。
如果有兩個(gè)以上的選項(xiàng),或者某些狀態(tài)可以共存,您可以考慮使用 CSS 類:
<RowDecorators> <dot:Decorator class-active="{value: IsActive}" class-paid="{value: IsPaid}" /> </RowDecorators>
這將根據(jù)和屬性的值在行上添加active
和CSS 類(它們必須是)。paid
IsActive
IsPaid
bool
- 1 回答
- 0 關(guān)注
- 109 瀏覽
添加回答
舉報(bào)