GridView的UpdatePanel的不更新 [英] UpdatePanel Gridview not updating

查看:89
本文介绍了GridView的UpdatePanel的不更新的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

由于某些原因,我不能在UpdatePanel的GridView的我做了更改后刷新。有人可以帮忙吗?

我使用的ToolkitScriptManager控制在UpdatePanel。

 < ASP:的UpdatePanel ID =UpdatePanel1=服务器的UpdateMode =条件>
   <&的ContentTemplate GT;
        < ASP:GridView控件等等...         < / ASP:GridView的>    < /&的ContentTemplate GT;
   <&触发器GT;
       < ASP:AsyncPostBackTrigger控件ID =DeleteButton事件名称=点击/>
       < ASP:AsyncPostBackTrigger控件ID =IBUpUp事件名称=点击/>
       < ASP:AsyncPostBackTrigger控件ID =IBDownDown事件名称=点击/>
       < ASP:AsyncPostBackTrigger控件ID =IBUp事件名称=点击/>
       < ASP:AsyncPostBackTrigger控件ID =IBDown事件名称=点击/>
       < ASP:AsyncPostBackTrigger控件ID =EditProfile事件名称=点击/>
   < /触发器>

保护无效Unnamed3_Click(对象发件人,ImageClickEventArgs E)
        {

  INT的rowIndex = GridView1.SelectedIndex;
        GridViewRow GVR = GridView1.SelectedRow;        如果(rowIndex位置> = 0)
        {
            //删除            字符串GridViewOne = GridView1.DataKeys [rowIndex位置] .Value.ToString();            //删除图像            串imagename = gvr.Cells [2]。文本;            字符串映像路径= @C:\\图片\\;            映像路径=映像路径+ imagename;
            如果(System.IO.File.Exists(映像路径))
            {
                //使用try块捕获的IOExceptions,以
                //处理文件的情况下,已被
                //被另一个进程打开。
                尝试
                {
                    System.IO.File.Delete(映像路径);
                }
                赶上(System.IO.IOException米)
                {
                    Console.WriteLine(m.Message);
                    返回;
                }
            }            INT bannerid = Convert.ToInt32(GridViewOne);            SqlDataReader的特别提款权= NULL;            康涅狄格州的SqlConnection =的getConnection();            CMD的SqlCommand =新的SqlCommand(Tool_DeleteBannerAds,康恩);            cmd.CommandType = CommandType.StoredProcedure;            SqlParameter的参数1 =新的SqlParameter();            param1.ParameterName =@BannerID;
            param1.Value = bannerid;            cmd.Parameters.Add(参数1);            conn.Open();            SDR = cmd.ExecuteReader();            sdr.Close();            UpdatePanel1.Update();
            GridView1.DataBind();        }
        其他
        {
            //什么都不做
            //保持
            //Response.Redirect(\"Default.aspx);
        }
    }


解决方案

更改顺序:

  GridView1.DataBind();
 UpdatePanel1.Update();

For some reason, I can't get the Gridview in the Updatepanel to refresh after I've made changes. can someone help?

I'm using the ToolkitScriptManager control and the UpdatePanel.

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
   <ContentTemplate>
        <asp:GridView blah...

         </asp:GridView>

    </ContentTemplate>
   <Triggers>
       <asp:AsyncPostBackTrigger ControlID="DeleteButton" EventName="Click" />
       <asp:AsyncPostBackTrigger ControlID="IBUpUp" EventName="Click" />
       <asp:AsyncPostBackTrigger ControlID="IBDownDown" EventName="Click" />
       <asp:AsyncPostBackTrigger ControlID="IBUp" EventName="Click" />
       <asp:AsyncPostBackTrigger ControlID="IBDown" EventName="Click" />
       <asp:AsyncPostBackTrigger ControlID="EditProfile" EventName="Click" />
   </Triggers>

protected void Unnamed3_Click(object sender, ImageClickEventArgs e) {

        int rowIndex = GridView1.SelectedIndex;
        GridViewRow gvr = GridView1.SelectedRow;

        if (rowIndex >= 0)
        {
            //delete

            String GridViewOne = GridView1.DataKeys[rowIndex].Value.ToString();

            //delete image

            string imagename = gvr.Cells[2].Text;

            string pathToImage = @"C:\Images\";

            pathToImage = pathToImage + imagename;


            if (System.IO.File.Exists(pathToImage))
            {
                // Use a try block to catch IOExceptions, to
                // handle the case of the file already being
                // opened by another process.
                try
                {
                    System.IO.File.Delete(pathToImage);
                }
                catch (System.IO.IOException m)
                {
                    Console.WriteLine(m.Message);
                    return;
                }
            }

            int bannerid = Convert.ToInt32(GridViewOne); 

            SqlDataReader sdr = null;

            SqlConnection conn = GetConnection();

            SqlCommand cmd = new SqlCommand("Tool_DeleteBannerAds", conn);

            cmd.CommandType = CommandType.StoredProcedure;

            SqlParameter param1 = new SqlParameter();

            param1.ParameterName = "@BannerID";
            param1.Value = bannerid;

            cmd.Parameters.Add(param1);

            conn.Open();

            sdr = cmd.ExecuteReader();

            sdr.Close();

            UpdatePanel1.Update();
            GridView1.DataBind();

        }
        else
        {
            //don't do anything
            //keep
            //Response.Redirect("Default.aspx");
        }


    }

解决方案

change the order:

 GridView1.DataBind();
 UpdatePanel1.Update();

这篇关于GridView的UpdatePanel的不更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆