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