【发布时间】:2012-02-06 20:06:10
【问题描述】:
我有一个包含硬编码值的下拉列表:
<asp:DropDownList ID="BulletinTypeDropDown" runat="server">
<asp:ListItem Selected="True" Text="--Select--" Value="--Select--"></asp:ListItem>
<asp:ListItem Text="News" Value="News"></asp:ListItem>
<asp:ListItem Text="report" Value="report"></asp:ListItem>
<asp:ListItem Text="System" Value="System"></asp:ListItem>
<asp:ListItem Text="Reminder" Value="Reminder"></asp:ListItem>
</asp:DropDownList>
我想用它来插入和编辑数据库中的值。例如,当添加记录时,用户选择“报告”,“报告”被插入到数据库中。然后,如果用户去编辑页面,因为数据库中的值是“报告”,那么下拉列表必须显示“报告”被选中。 但我能够成功地将值存储在数据库中,但在编辑页面期间我无法检索所选页面。 我正在使用实体框架,所以我厌倦了很多方法,但无法在编辑页面中获得价值。 这是我尝试的方式。
DropDown.SelectedValue = bulList.intype.ToString();//intype 是我从 DB 获取的值,它返回当前值,但在 DropDown.selectedvalue 中传递 null。
有人可以帮助我获取下拉列表中的值的其他方法吗?
谢谢
【问题讨论】:
-
您尝试在页面生命周期中的哪个事件处理程序中设置下拉列表值(Page_load、Button_click)?编辑页面如何接收值?显示更多代码会更容易。
-
我正在尝试在 page_load 显示下拉列表。我刚刚对这些值进行了硬编码,并且在下拉列表和后面的代码中我厌倦了我只是在做如下,if (bulletinList.Bulletintype != null) { BulletinTypeDropDown.SelectedValue = bulletinList.Bulletintype;}
-
何时设置从数据库读取的值?也许您的下拉菜单在设置 SelectedValue 时还没有硬编码的 Items?在设置 SelectedValue 的行上打断并检查 Items.Length。
-
当您使用调试器点击 Page_load 时,您是否看到 bulList.intype 确实设置为您期望的值?
-
是的,我在 bulList.intype 中看到了值,但在 dropdownlist 中没有。Drodownlist 始终显示默认值。
标签: c# asp.net drop-down-menu bind