我的asp.net页面中有dropdownlist
<asp:RadioButtonList ID="rdblstcookinglevel" runat="server" CellPadding="0"
CellSpacing="0" >
<asp:ListItem>Novice</asp:ListItem>
<asp:ListItem>Beginner</asp:ListItem>
<asp:ListItem>Intermediate</asp:ListItem>
<asp:ListItem>Expert</asp:ListItem>
<asp:ListItem>Professional</asp:ListItem>
</asp:RadioButtonList>
在页面加载时,selectedvalue
是根据来自数据库的值设置的。
rdblstcookinglevel.SelectedValue = user.CookingLevel;
但是当页面上的用户更改选择时,selectedindex
不会更改,因此旧的选定值将被发送回数据库。
User.CookingLevel = rdblstcookinglevel.SelectedValue;
答案 0 :(得分:1)
确保SelectedValue
的设置仅在页面的第一次加载时完成 - 而不是在帖子后面进行,即......
if(!Page.IsPostBack)
{
rdblstcookinglevel.SelectedValue = user.CookingLevel;
}
答案 1 :(得分:0)
确保将值分配给下拉列表仅在第一次加载页面时
试试这个
If(!IsPostBack)
{
rdblstcookinglevel.SelectedValue = user.CookingLevel;
}
这将阻止旧值发送到数据库而不是新值
希望我帮助
答案 2 :(得分:0)
我在这里发帖,希望这对其他人有用,也是我将来的参考资料。我遇到的问题是下拉列表没有保存我在代码中设置的选择项。在做了一些挖掘之后,我发现错误是我自己的(尽管基于我不知道的下拉列表的限制)。我用我创建的项目动态填充下拉列表。我给每个项目提供了唯一的文本,但不是唯一的值。显然这会引起混乱。因此,如果您遇到此问题,请检查每个下拉列表项是否具有唯一值。