none
MemberShip и удаление пользователя RRS feed

  • Вопрос

  • Здравствуйте, подскажите

    Есть сторонний MembershipProvider

    Вывожу в GridView имена пользователей и их данные, в соседней колонке расположены кнопки.
    При нажатии на одну из них хочу, чтобы в обработчике щелчка по ней удалялся пользователь из БД
    Делаю так:

    protected void btnDelete_Click(object sender, EventArgs e)
        {
          var btn = sender as LinkButton;
          var row = btn.Parent.Parent as GridViewRow;
     
          var lblLogin = row.Cells[0].FindControl("lblLogin") as Label;
     
          MembershipUser msu = Membership.GetUser(lblLogin.Text);
          Membership.DeleteUser(msu.UserName,true);
          ProfileManager.DeleteProfile(lblLogin.Text);
          GridView1.DataBind();
        }
     
    
    Возникает ошибка:

    Данный объект SqlCeTransaction завершен; он больше не может использоваться.

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.InvalidOperationException: Данный объект SqlCeTransaction завершен; он больше не может использоваться.

    Это у меня голова корявая или MemberShip корявенький немного?
    18 августа 2011 г. 12:21

Ответы

  • Дело в том, что

    Membership.DeleteUser(msu.UserName,true);

    Удаляет все связанные с пользователем данные, включая профиль, который ты следующей строкой пытаешься удалить.

    Так что, либо убери второй параметр в DeleteUser, либо убери DeleteProfile

     

    • Помечено в качестве ответа ansi_str 18 августа 2011 г. 17:01
    18 августа 2011 г. 13:17
    Модератор