我試圖找到最有效的模式,將ASP.Net窗體中的控件綁定到包含幾個枚舉作爲整數值的數據庫表中。例如,如果我在代碼中定義這些枚舉:如何綁定到ASP.Net中的網格控件枚舉
[Flags]
public enum VisibleTo
{
None = 0,
Customers = 1,
Employees = 2,
Managers = 4
}
public enum LinkType
{
AdorableCatVideo = 0,
Selfie = 1,
FakeNews = 2,
Pornography = 3
}
然後在我的數據庫表中的行可能是這個樣子:
並在此基礎上,我想能夠使用控制像一個DetailsView有一個SqlDataSource顯示網格顯示:
Link Text: Kitten Playing With Yarn
Link URL: http://www.kittens.com/yarn134323.html
Link Type: AdorableKittenVideo (preferably with spaces)
Visible to Customers: [check]
Visible to Employees: [check]
Visible to Managers: [check]
我已經調查了幾個控制類型,以及避風港沒有發現任何可以讓我們輕鬆完成的事情,我也沒有在Google上發現任何建議。我能想到的最好方法是在Page_Load方法中查詢數據庫,使用輔助方法將鏈接類型int轉換爲可讀的字符串,並將VisibleTo標誌分解爲三個布爾值,並將所有這些加載到一個單獨的DataTable,我可以綁定,然後在更新或插入之前進行一些更多的轉換。
任何人都可以想到一個更優雅的方式來實現這一目標嗎?我正在考慮使用IValueConverter在WPF和XAML中完成這種類型的事情是多麼容易,但我不太熟悉ASP.Net。提前致謝!
我的回答對你有幫助嗎? – hardkoded
@kblok我被拉走了,我仍然在努力。這可能不會被接受的答案,因爲我真的不知道它如何幫助綁定,但+1有用的代碼,我應該選擇使用輔助方法轉換數據的方法,因爲我提到我威力。 –