我在GridView中自定义了删除功能,用ScriptManager实现页面的无刷新,第一次点击“删除”后数据库已实现记录的删除,但页面没变化,第二次点击“删除”后就能看到上一次的删除结果。怎样才能点击删除就能无刷新的删除呢,我附上代码麻烦各位高手指点。前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Temp.aspx.cs" Inherits="Temp" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server"
onrowcommand="GridView1_RowCommand">
<Columns>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server"
CommandName="mydelete" CommandArgument='<%# Eval("ArticleID") %>'>删除</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
</html>后台代码:
public partial class Temp : System.Web.UI.Page
{
public void ArticleBind()
{
string sqlstr = "select ArticleID ,Title,Dateline ,ReadNum,CommentNum ,State from Article";
GridView1.DataSource = SqlData.ExceDS(sqlstr);
//获取或设置GridView控件中的主键字段
GridView1.DataKeyNames = new string[] { "ArticleID" };
//从数据中绑定数据到列表控件中;
GridView1.DataBind();
}
protected void Page_Load(object sender, EventArgs e)
{
ArticleBind();
} protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.Equals("mydelete"))//执行删除
{
string strsql = "delete from Article where ArticleID='" + Convert.ToInt32(e.CommandArgument) + "'";
bool delete = SqlData.ExceSql(strsql); if (delete)
{
Response.Write("<script>alert('删除成功')</script>");
GridView1.DataBind(); }
else
{
Response.Write("<script>alert('删除失败')</script>");
} }
}
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Temp.aspx.cs" Inherits="Temp" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server"
onrowcommand="GridView1_RowCommand">
<Columns>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server"
CommandName="mydelete" CommandArgument='<%# Eval("ArticleID") %>'>删除</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
</html>后台代码:
public partial class Temp : System.Web.UI.Page
{
public void ArticleBind()
{
string sqlstr = "select ArticleID ,Title,Dateline ,ReadNum,CommentNum ,State from Article";
GridView1.DataSource = SqlData.ExceDS(sqlstr);
//获取或设置GridView控件中的主键字段
GridView1.DataKeyNames = new string[] { "ArticleID" };
//从数据中绑定数据到列表控件中;
GridView1.DataBind();
}
protected void Page_Load(object sender, EventArgs e)
{
ArticleBind();
} protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.Equals("mydelete"))//执行删除
{
string strsql = "delete from Article where ArticleID='" + Convert.ToInt32(e.CommandArgument) + "'";
bool delete = SqlData.ExceSql(strsql); if (delete)
{
Response.Write("<script>alert('删除成功')</script>");
GridView1.DataBind(); }
else
{
Response.Write("<script>alert('删除失败')</script>");
} }
}
}
第一次点击“删除”后数据库已实现记录的删除,但页面没变化
执行删除后 重新绑定数据
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.Equals("mydelete"))//执行删除
{
string strsql = "delete from Article where ArticleID='" + Convert.ToInt32(e.CommandArgument) + "'";
bool delete = SqlData.ExceSql(strsql); if (delete)
{
Response.Write("<script>alert('删除成功')</script>");
//GridView1.DataBind();
ArticleBind();
}
else
{
Response.Write("<script>alert('删除失败')</script>");
} }
}
我在GridView中自定义了删除功能,用ScriptManager实现页面的无刷新,
第一次点击“删除”后数据库已实现记录的删除,但页面没变化 执行删除后 重新绑定数据
试过了,还是不行。
=>
ScriptManager.RegisterStartupScript(UpdatePanel1,GetType(),"success","alert('删除成功');",true);
http://www.cnblogs.com/insus/articles/1944295.html