首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

xmldatasource+gridview进展删除操作,数据库中的数据删除了,但是gridview不更新

2011-12-22 
xmldatasource+gridview进行删除操作,数据库中的数据删除了,但是gridview不更新我尝试了在page_load中添加

xmldatasource+gridview进行删除操作,数据库中的数据删除了,但是gridview不更新
我尝试了在page_load中添加gridview.databind(),发现这样添加后对数据库的操作九五小了。而如果把gridview.databind()放在删除按钮函数的末尾,则时好时坏。不知道为什么,请高手指教!
下面是部分代码:


protected   void   Page_Load(object   sender,   EventArgs   e)
        {
                BtnDelete.Attributes.Add( "onclick ",   "return   confirm( '确定要删除这些记录吗? ') ");
                TextBox1.Text   =   "null ";
                if   (!IsPostBack)   {   GridView1.DataBind();   }
        }

protected   void   BtnDelete_Click(object   sender,   EventArgs   e)
        {
                int   i;
                String   sSearchRank;
                XmlDocument   XmlDoc   =   new   XmlDocument();
                XmlDoc.Load(Server.MapPath( "../XMLFile.xml "));
                XmlNode   XmlRoot   =   XmlDoc.DocumentElement;
                XmlNode   XmlSchNode;
                for   (i   =   0;   i   <   GridView1.Rows.Count;   i++)
                {
                        if   (((CheckBox)GridView1.Rows[i].FindControl( "ChkSel ")).Checked   ==   true)
                        {
                                sSearchRank   =   GridView1.DataKeys[i].Value.ToString();
                                XmlSchNode   =   XmlRoot.SelectSingleNode( "Record[@rank= ' "   +   sSearchRank   +   " '] ");
                                if   (XmlSchNode   !=   null)
                                {
                                        XmlSchNode.ParentNode.RemoveChild(XmlSchNode);
                                        String   bmpfilename   =   String.Format( "picsource/image{0}.bmp ",   sSearchRank);
                                        String   path   =   String.Format(Server.MapPath( "../ ")   +   bmpfilename);
                                        FileInfo   filedel   =   new   FileInfo(path);
                                        if   (filedel.Exists)


                                        {
                                                filedel.Delete();
                                        }
                                }
                                else
                                {
                                        XmlDataSource1.XPath   =   null;
                                        Response.Write( " <Script   language=JavaScript> alert( '节点不存在或已被删除 '); </Script> ");
                                }
                        }
                }
                XmlDoc.Save(Server.MapPath( "../XMLFile.xml "));
                XmlDataSource1.XPath   =   null;
        }
}


[解决办法]
重新绑定一下gridview
[解决办法]
DataSource 的cache问题
把相关属性设置一下就行

例如,下面的 SqlDataSourceControl 被配置为使用可变过期策略,过期时间为 10 分钟。

<asp:SqlDataSource ID= "SqlDataSource1 "EnableCaching= "true "CacheExpirationPolicy= "Sliding "CacheDuration= "600 "ConnectionString= "Server=localhost;database=Pubs "SelectCommand= "SELECT Title FROM Titles "Runat= "server " />

没用过xmlDataSource不知道怎么样
[解决办法]
重新绑定一下gridview

凡是刷新数据,都需要重新绑定一下.因为你做的是B/S程序.

热点排行