0

SQL Server Management Studio によってバックアップされた Visual Studio 2012 をデータベースとして使用しています。グリッドビューを使用してデータを表示しています。データを編集および削除できる TemplateField を使用しました。しかし、特定のデータを削除すると、常に最初のデータが削除されるようです。解決策は何ですか?

ここに私のaspコードがあります:

<asp:Content ID="Content4" ContentPlaceHolderID="full_main" Runat="Server">
    <asp:GridView ID="gvUsers" runat="server" 
    class="table table-bordered data-table" AutoGenerateColumns="False" 
    AllowPaging="True" onpageindexchanging="gvUsers_PageIndexChanging" 
        onselectedindexchanged="gvUsers_SelectedIndexChanged" EnableModelValidation="True">
        <Columns>
            <asp:BoundField DataField="UserID" HeaderText="User ID" InsertVisible="False" 
                ReadOnly="True" SortExpression="UserID" />
            <asp:BoundField DataField="FirstName" HeaderText="First Name" 
                SortExpression="FirstName" />
            <asp:BoundField DataField="LastName" HeaderText="Last Name" 
                SortExpression="LastName" />
            <asp:BoundField DataField="EmailAddress" HeaderText="Email Adress" SortExpression="EmailAddress" />
            <asp:BoundField DataField="Street" HeaderText="Street" SortExpression="Street" />
            <asp:BoundField DataField="Municipality" HeaderText="Municipality" SortExpression="Municipality" />
            <asp:BoundField DataField="City" HeaderText="City" SortExpression="City" />
            <asp:BoundField DataField="ZipCode" HeaderText="Zip Code" SortExpression="ZipCode" />
            <asp:BoundField DataField="ContactNo" HeaderText="Contact No" SortExpression="ContactNo" />
            <asp:TemplateField HeaderText="Actions">
                <ItemTemplate>
                    <a href="http://localhost:12345/CAPSTONE/Users/Edit.aspx?ID=<%# Eval("UserID") %>" 
                                class="btn btn-primary btn-mini">Edit</a>
                            <a href="#deleteItem" data-toggle="modal" class="btn btn-danger btn-mini">Delete</a>
                            <div id="deleteItem" class="modal hide">
                              <div class="modal-header">
                                <button data-dismiss="modal" class="close" type="button">×</button>
                                <h3>Record Deletion</h3>
                              </div>
                              <div class="modal-body">
                                <p>Are you sure you want to delete the record?</p>
                              </div>
                              <div class="modal-footer"> 
                                <a class="btn btn-primary"
                                    href="http://localhost:12345/CAPSTONE/Users/Delete.aspx?ID=<%# Eval("UserID") %>">Confirm</a> 
                                <a data-dismiss="modal" class="btn" href="#">Cancel</a> 
                              </div>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
        <EmptyDataTemplate>
            <center>
                <h1>
                    No records found.</h1>
            </center>
        </EmptyDataTemplate>
        <PagerStyle CssClass="pagination alternate" />
    </asp:GridView>

これが私のコードビハインドです:

void DeleteUser(int userID)
    {
        con.Open();
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = con;
        cmd.CommandText = "DELETE FROM Users WHERE UserID=@UserID";
        cmd.Parameters.Add("@UserID", SqlDbType.Int).Value = userID;
        cmd.ExecuteNonQuery();
        con.Close();
        Helper.AddLog(Session["userid"].ToString(), "Delete", "Deleted a User");
        Response.Redirect("Default.aspx");
    }
4

0 に答える 0