1

我正在开发一个 Asp.net,C# 应用程序。单击“更新”链接按钮后,我想刷新网页;在网格视图中。我尝试了以下代码;但是它只是刷新页面而不在网格视图中保存更新的数据。

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

数据源名称SqlDataSourcePlan

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

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

2 回答 2

2

改用RawUrl

Response.Redirect(Request.RawUrl)

原始 URL 定义为 URL 中域信息之后的部分。在 URL 字符串 http://www.contoso.com/articles/recent.aspx中,原始 URL 是 /articles/recent.aspx。原始 URL 包括查询字符串(如果存在)。

编辑“不在网格视图中保存更新的数据”

为什么你认为将页面重定向到自身应该在某处保存一些东西?

查看本教程:使用 SqlDataSource (C#) 插入、更新和删除数据

我假设您实际上想要 更新 GridView而不是整个页面。那么你应该打电话给GridView.DataBind().

于 2012-09-21T10:42:16.733 回答
0

我的猜测(在代码中没有其他一些信息很难说)是虽然信息保存在数据库中,但datasource不会gridview用新值刷新。关于这部分,我经常看到这个问题。

Page.DataBind在重定向之前,您必须使用or GridViewName.DataBind()GridViewName您的名称在哪里)重新绑定 gridview gridview

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

于 2012-09-21T10:58:07.883 回答