C# 保存正确值的下拉列表

C# 保存正确值的下拉列表,c#,asp.net,entity-framework,C#,Asp.net,Entity Framework,我想保存下拉列表中的值,但它只是停留在原始值?我所看到的从真到假的更有效的方法是什么?在决策方面无所事事 user _currentUser; DBContext _db = new DBContext(); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { UserValidationResult userSt

我想保存下拉列表中的值,但它只是停留在原始值?我所看到的从真到假的更有效的方法是什么?在决策方面无所事事

user _currentUser;
    DBContext _db = new DBContext();

      protected void Page_Load(object sender, EventArgs e)
    {

        if (!IsPostBack)
        {
            UserValidationResult userStatus = (UserValidationResult)Session["userStatus"];


            user query = _db.GetCurrentUser(userStatus.User.UserId);


            dpstatus.SelectedIndex = Convert.ToInt32(query.isEnabled);
        }
    }


      protected void btnSave_Click(object sender, EventArgs e)
      {

          UserValidationResult userStatus = (UserValidationResult)Session["userStatus"];


          user query = _db.GetCurrentUser(userStatus.User.UserId);

          if (dpstatus.SelectedItem.Value == "1")
              query.isEnabled = true;
          else
              query.isEnabled = false;

          _db.SaveChanges();

      }
编辑以显示html标记

<h1>User Status </h1>       

        <div class="login-fields">

            Status <asp:DropDownList ID="dpstatus" runat="server">
                <asp:ListItem Value="1">Enabled</asp:ListItem>
                <asp:ListItem Value="0">Disabled</asp:ListItem>
            </asp:DropDownList>


                  <asp:Button ID="btnSave" runat="server" Text="Save" CssClass="button btn btn-success btn-large" OnClick="btnSave_Click" />

            </div>
用户状态
地位
启用
残废
我在这里看到一个问题:

dpstatus.SelectedIndex = Convert.ToInt32(query.isEnabled);
SelectedIndex指的是dropdownlist中列表项的索引,而不是该项的值。我认为您打算做的是根据值选择项目,如下所示:

dpstatus.SelectedValue = Convert.ToInt32(query.isEnabled).ToString();

它在数据库中保持原始值?或者在下拉列表中的所选项目中?是否可以添加显示下拉列表的相关HTML标记please@CodeUniquely我在上面加了标记see@Mag虽然这是答案,但我还是将guid设置为查询字符串,而不是当前用户