如果控制器和視圖之間的值彼此不匹配,建議如何轉換值?在視圖和控制器之間轉換值
// Basic model with enum property
public class MyModel {
public State MyState { get; set; }
}
// Enum denoting 3 states
public enum State {
Ready,
Set,
Go
}
// API/MVC/Module/SignalR controller
public class MyController : MiddlewareController {
public MyController() {
Get = _ => {
return View["myView", new MyModel()];
};
}
}
// myView
<div class="@Model.State"></div>
現在,枚舉值的字符串表示是「就緒」,「設置」和「去」,但在我看來,我需要「.red」,「.yellow」,「綠色」 。
當然,在我的控制器中,我可以創建一個函數來返回相應的CSS值,但這感覺是錯誤的,因爲我正在將視圖關注到我的控制器中。有沒有像價值轉換器那樣的東西?
何不與我你只需要添加一個CSS選擇器,像.red,。就緒{背景色狀態:紅色; } –
@OnurTOPAL 1)公約。我的枚舉值被稱爲「就緒」,CSS類將是「.ready」 - 不匹配。 2)「就緒」狀態僅爲應用程序所知,而不是視圖。 – Acrotygma
創建HtmlHelper,您可以在其中實現您的功能。 – Ryba