如何在网格视图中单击“更新”后刷新网页

时间:2012-09-21 10:37:51

标签: c# asp.net

我正在开发一个Asp.net,C#应用程序。 我点击“更新”LinkBut​​ton后刷新网页;在网格视图中。我试过以下代码;但是它只刷新页面而不在Grid视图中保存更新的数据。

protected void LinkButton1_Click1(object sender, EventArgs e)
{
    Response.Redirect(Request.RawUrl.ToString());
}

DataSource的名称SqlDataSourcePlan

SELECT [PlanID], [Deposit], [DepositReturn], [Discount] FROM [PaymentPlan] WHERE ([Ref] = @Ref)

UPDATE [PaymentPlan] SET [Deposit] = @Deposit, [DepositReturn] = @DepositReturn, [Discount] = @Discount WHERE [PlanID] = @original_PlanID

2 个答案:

答案 0 :(得分:2)

改为使用RawUrl

Response.Redirect(Request.RawUrl)
  

原始URL定义为域后面的URL部分   信息。在URL字符串中   http://www.contoso.com/articles/recent.aspx,原始网址是   /articles/recent.aspx。原始URL包括查询字符串if   本。

修改“而不在网格视图中保存更新的数据”

为什么你认为将页面重定向到自己应该在某处保存?

查看本教程:Inserting, Updating, and Deleting Data with the SqlDataSource (C#)

我认为你实际上想要更新GridView 而不是整个页面。然后你应该拨打GridView.DataBind()

答案 1 :(得分:0)

我的猜测(代码中没有其他信息很难说)是因为信息保存在数据库中,datasource的{​​{1}}没有用新值刷新。 我经常看到这个问题。

在重定向之前,您必须使用gridviewPage.DataBind(其中GridViewName.DataBind()GridViewName的名称)重新绑定网格视图。

您可能不会在gridview重新加载GridView,或PageLoad未发生(如果没有服务器代码,则无法知道)。如果这样可以正常工作,则在重定向之前不需要数据绑定。