Итак, у меня возникли проблемы, когда я не могу заставить свою программу удалить строку после того, как модальное всплывающее окно. Модал работает, но когда я нажимаю кнопку ОК, строка, которую я пытаюсь удалить, все еще там и не была удалена. есть идеи как это исправить?
Я пытался переключить некоторые коды, чтобы увидеть, есть ли какие-либо изменения, но больше ничего не работает.
УДАЛИТЬ МОДАЛЬ
<!--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">×</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
Так что для модала, когда я нажимаю кнопку удаления, появляется модал, спрашивающий, уверен ли пользователь, хочет ли он удалить запись, и когда он нажимает хорошо, он отобразит сообщение о том, что запись была успешно удален. Поэтому, когда я запускаю код, модалы работают без проблем, единственная проблема, с которой я сталкиваюсь, это то, что она не удаляет строку. Если вы можете помочь мне устранить неполадку, я был бы очень признателен:)