0

システムデータベース内のすべてのユーザーを表示する管理者用のページを作成しています。gird ビューを使用して、メンバーシップ テーブル内のすべてのユーザーを取得しています。問題は、管理者が行った変更を管理者がどのように編集、削除、および更新できるかということです。selectステートメントを設定したいときは、追加のステートメントを入れることができるadvanceボタンがあります。SQL のメンバーシップ テーブルに主キーがありません。これを解決するにはどうすればよいですか?どうもありがとう。

4

2 に答える 2

0

このチュートリアルを見てください。http://www.codeproject.com/Articles/24085/Insert-Update-Delete-with-Gridview-simple-wayとまったく同じです。

于 2012-07-12T06:50:45.703 に答える
0

アシュウィンが提案したそのチュートリアルは、私には難しすぎるように見えます。私がとるべき方向は…

グリッドビューの datakey プロパティにユーザー名フィールドを格納します。そして、グリッド ビューの RowDeleting および RowUpdating イベントを使用します...

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
    e.Cancel = true; // cancel default action.

    // delete user myself.
    string user = e.Keys["username"].ToString(); // think that's the name of the field in database.
    Membership.DeleteUser(user);
}

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
    e.Cancel = true; // cancel default action.

    // update user myself.

    var userToUpdate = new MembershipUser();

    // get new values with e.NewValues[] and fill out all properties of userToUpdate.

    Membership.UpdateUser(userToUpdate);
}

私の意見では、メンバーシップ オブジェクトからメソッドを呼び出す方がはるかに簡単に思えます。また、asp.net が生成するテーブルをいじる必要もありません。

于 2012-07-12T07:28:53.367 に答える