Мне нужна помощь Устранение неполадок моего кода, Невозможно удалить строку - PullRequest
0 голосов
/ 14 мая 2019

Итак, у меня возникли проблемы, когда я не могу заставить свою программу удалить строку после того, как модальное всплывающее окно. Модал работает, но когда я нажимаю кнопку ОК, строка, которую я пытаюсь удалить, все еще там и не была удалена. есть идеи как это исправить?

Я пытался переключить некоторые коды, чтобы увидеть, есть ли какие-либо изменения, но больше ничего не работает.

УДАЛИТЬ МОДАЛЬ

   <!--for Delete:-->
    <div id="DeleteModal" class="modal fade" role="dialog">
      <div class="modal-dialog">
        <!-- Modal content-->
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">&times;</button>
            <h4 class="modal-title">Delete User Account</h4>
          </div>
          <div class="modal-body">
              <asp:Label ID="lblDeleteID" runat="server" Text="" Visible="false"></asp:Label>
               Are you sure you want to delete this record?
          </div>
          <div class="modal-footer">
              <asp:Button ID="btnExecuteDelete" class="btn btn-default" runat="server" Text="OK" OnClick="btnExecuteDelete_Click"/>
              <asp:Button ID="btnCancelDelete" class="btn btn-default" runat="server" Text="Cancel" data-dismiss="modal"/>
          </div>
        </div>
      </div>
    </div>

GridView

    <asp:GridView ID="gvGuest" runat="server" AutoGenerateColumns="False"
        OnPageIndexChanging="PageIndexChanging" AllowPaging="true" PageSize="5"
        DataKeyNames="GuestID">
        <Columns>

             <asp:TemplateField HeaderText="Guest ID">
                <ItemTemplate>
                    <asp:Label ID="lblGuestID" runat="server" Text='<%#Eval("GuestID")%>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>

            <asp:TemplateField HeaderText="First Name">
                <ItemTemplate>
                    <asp:Label ID="lblFirstName" runat="server" Text='<%#Eval("FirstName")%>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>

            <asp:TemplateField HeaderText="Last Name">
                <ItemTemplate>
                    <asp:Label ID="lblLastName" runat="server" Text='<%#Eval("LastName")%>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>

             <asp:TemplateField HeaderText="Phone">
                <ItemTemplate>
                    <asp:Label ID="lblPhone" runat="server" Text='<%#Eval("Phone")%>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
             <asp:TemplateField HeaderText ="">
                <ItemTemplate>
                    <asp:LinkButton ID="btnUpdate" runat="server" ForeColor="Blue" OnClick="btnUpdate_Click">Edit</asp:LinkButton>
                    <asp:LinkButton ID="btnDelete" runat="server" ForeColor="Red" OnClick="btnDelete_Click">Delete</asp:LinkButton>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

Удалить код CS

protected void btnExecuteDelete_Click(object sender, EventArgs e)
        {
            ScriptManager.RegisterStartupScript(Page, Page.GetType(), "myPrompt", "alert('Successfully Deleted Record!');", true);

        }

        protected void btnDelete_Click(object sender, EventArgs e)
        {
            clickedRow = ((LinkButton)sender).NamingContainer as GridViewRow;
            pk = ((Label)clickedRow.FindControl("lblGuestID")).Text;
            lblDeleteID.Text = pk.ToString();
            objBEL.GuestID = GuestID;
            objBLL.DeleteGuest(objBEL);
            ScriptManager.RegisterStartupScript(Page, Page.GetType(), "DeleteModal", "$('#DeleteModal').modal();", true);
            readGrid();
            objBEL = null;
            objBLL = null;
        }

BLL

        public void DeleteGuest(GuestBEL objBEL)
        {
            GuestDAL objDAL = new GuestDAL();
            objDAL.DeleteGuest(objBEL);
        }

DAL

       public void DeleteGuest(GuestBEL objBEL)
        {
            SqlCommand cmd = new SqlCommand("GuestDelete", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@GuestID", objBEL.GuestID);
            con.Open();
            cmd.ExecuteNonQuery();
            cmd.Dispose();
            con.Close();
        }

Хранимая процедура

CREATE PROCEDURE [dbo].[GuestDelete]
    @GuestID int
AS
    BEGIN 
        DELETE FROM Guest 
        WHERE GuestID=@GuestID
    END

Так что для модала, когда я нажимаю кнопку удаления, появляется модал, спрашивающий, уверен ли пользователь, хочет ли он удалить запись, и когда он нажимает хорошо, он отобразит сообщение о том, что запись была успешно удален. Поэтому, когда я запускаю код, модалы работают без проблем, единственная проблема, с которой я сталкиваюсь, это то, что она не удаляет строку. Если вы можете помочь мне устранить неполадку, я был бы очень признателен:)

...