2

dropdownlistasp.netページに

<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;
4

3 に答える 3

1

の設定がSelectedValueページの最初のロード時にのみ行われ、ポストバックでは行われないことを確認してください。

if(!Page.IsPostBack)
{
  rdblstcookinglevel.SelectedValue = user.CookingLevel;
}
于 2012-07-24T10:50:10.110 に答える
0

ページが最初にロードされたときのみ、ドロップダウンリストに値を割り当てるようにしてください

これを試して

If(!IsPostBack)
   {
       rdblstcookinglevel.SelectedValue = user.CookingLevel;
   }

これにより、新しい値の代わりに古い値がデータベースに送信されなくなります。

お役に立てば幸いです

于 2012-07-24T10:55:50.963 に答える
0

これが他の人や私の将来の参照に役立つことを願って、ここに投稿しています。コードで設定した選択項目を保持していないドロップダウンリストに問題がありました。掘り下げた後、間違いは私自身のものであることがわかりました(ただし、私が認識していなかったドロップダウンリストの制限に基づいています)。作成したアイテムをドロップダウンリストに動的に入力していました。各アイテムに固有のテキストを与えていましたが、固有の値は与えていませんでした。どうやらこれは混乱を引き起こします。したがって、この問題が発生した場合は、ドロップダウンリストの各項目に一意の値があることを確認してください。

于 2016-06-14T13:51:04.527 に答える