我在数据库中有一个表存储4个类,表的结构是ID(GUID),描述。我将类别加载到下拉列表(asp.net webform)中,以允许人们根据他们选择的内容选择一个类别。然后,我将显示与其选择相关的信息并隐藏其他信息。
目前,我根据我在代码后面硬编码的GUID做一个“选择案例”,以显示相关信息。有没有更好的方法来做这个没有硬件代码的GUID背后的代码?
答案 0 :(得分:4)
与Guid
/ Description
...
您硬编码的数据听起来像是被添加到数据库本身的候选者。
如果它是Category
/ Guid
的一条信息,请考虑扩展您的数据库表以存储该信息。
如果它是Categor
y / Guid
的多条信息,那么请考虑创建一个上面有CategoryID
的新表,以及Category
之间的外键关系表和您的ExtraInfo
表
答案 1 :(得分:1)
您可以在应用启动时向数据库查询GUID,并将其缓存在静态Dictionary
中。
答案 2 :(得分:1)
您可以将GUID存储在Web配置中并在运行时加载它。然后,您可以轻松地将该GUID替换为另一个不必重新编译的GUID。
答案 3 :(得分:0)
您应该有一个Categories
表和一个Posts
表(或者您将用您的类别标记的任何表)。在Posts
表中,您有一个CategoryID
列(假设每个帖子只能属于一个类别),因此您只能在一个位置拥有类别名称(规范化您的数据)。
渲染下拉列表时,从数据库中选择GUID:s。没有硬编码,如果您添加其他类别(或删除一个类别),下拉列表将自动反映可用的类别。
答案 4 :(得分:0)
如果将下拉列表绑定到Category行或包含类别名称和值的元组,则可以使用Guid
属性在代码隐藏中加载SelectedValue
。然后,您将在下拉列表中设置DataTextField
和DataValueField
。