C# 更新后刷新gridview

C# 更新后刷新gridview,c#,asp.net,C#,Asp.net,我在更新gridview后尝试刷新它时遇到问题。DB接收更新,当我手动刷新页面时,我可以在那里看到它们,但当我单击更新链接提交更改时,我看不到它们 我试图调用填充网格的函数,但收到一个js错误“Microsoft JScript运行时错误:无法获取属性“firstChild”的值:对象为null或未定义”。 它运行该方法,直到退出后才抛出该错误 有没有其他方法可以在更新后刷新网格 代码如下: protected void Page_Load(object sender, EventArg

我在更新gridview后尝试刷新它时遇到问题。DB接收更新,当我手动刷新页面时,我可以在那里看到它们,但当我单击更新链接提交更改时,我看不到它们

我试图调用填充网格的函数,但收到一个js错误“Microsoft JScript运行时错误:无法获取属性“firstChild”的值:对象为null或未定义”。 它运行该方法,直到退出后才抛出该错误

有没有其他方法可以在更新后刷新网格

代码如下:

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            BindCustodiansByProjectID();
            BindCustodianMedia(EditMediaClass.outRequestMediaID);
        }
    }

        private void BindCustodianMedia(string MediaID)
    {
        DataTable dt = new DataTable();
        SqlConnection conn = new SqlConnection(GetConnString());
        DataSet ds = new DataSet();
        try
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand("usps_displayEditMedia_CustodianMedia", conn);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add(new SqlParameter("@aspMediaID", SqlDbType.Int)).Value = int.Parse(MediaID);
            cmd.ExecuteNonQuery();

            SqlDataAdapter da = new SqlDataAdapter(cmd);

            da.Fill(ds);

            grd_custodianMedia.DataSource = ds;
            grd_custodianMedia.DataBind();
        }

        protected void updateCustodianMedia_OnUpdateCommand(object sender, GridRecordEventArgs e)
    {
        SqlConnection conn = new SqlConnection(GetConnString());
        conn.Open();
        try
        {
            SqlCommand cmd = new SqlCommand("usps_updateCustodianMedia_EditMedia", conn);
            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.Add(new SqlParameter("@aspCustodianMediaID", SqlDbType.Int)).Value = int.Parse(e.Record["CustodianMediaID"].ToString());
            cmd.Parameters.Add(new SqlParameter("@aspMediaID", SqlDbType.Int)).Value = int.Parse(EditMediaClass.outRequestMediaID.ToString());
            cmd.Parameters.Add(new SqlParameter("@aspCustodianID", SqlDbType.Int)).Value = int.Parse(e.Record["CustodianID"].ToString());
            cmd.Parameters.Add(new SqlParameter("@aspUploadPath", SqlDbType.VarChar)).Value = e.Record["UploadPath"];
            cmd.Parameters.Add(new SqlParameter("@aspDataSize", SqlDbType.VarChar)).Value = e.Record["DataSize"];
            cmd.Parameters.Add(new SqlParameter("@aspDataDesc", SqlDbType.VarChar)).Value = e.Record["DataDescription"];

            cmd.ExecuteNonQuery();
            //BindCustodianMedia(EditMediaClass.outRequestMediaID);    

        }

对于Javascript错误,请尝试使用
Firebug
或IE开发人员工具进行调试,并找出导致问题的确切原因。您正在尝试从空对象访问属性“firstchild”。根据这些信息,很难判断哪一个可能是确切的问题

您必须发布代码,顺便说一下,jscript错误是浏览器声明的错误,而不是服务器端代码。要重新绑定网格,只需获取数据(通过dataset或datatable)并将其设置为gridview的datasource属性。大意如下:
Dataset ds=GetMyData();myGridView.DataSource=ds;myGridView.DataBind()刷新网格后,您需要重新绑定网格。您到底在做什么???…请发布您的代码。在更新例程之后,您需要重新绑定您的数据网格。//BindCustinatorMedia(EditMediaClass.outRequestMediaID);这行试图这样做,但抛出了js错误。我应该如何构造它-约翰