我正在开发一个Asp.net,C#应用程序。 我点击“更新”LinkButton后刷新网页;在网格视图中。我试过以下代码;但是它只刷新页面而不在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
答案 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}}没有用新值刷新。
我经常看到这个问题。
在重定向之前,您必须使用gridview
或Page.DataBind
(其中GridViewName.DataBind()
是GridViewName
的名称)重新绑定网格视图。
您可能不会在gridview
重新加载GridView,或PageLoad
未发生(如果没有服务器代码,则无法知道)。如果这样可以正常工作,则在重定向之前不需要数据绑定。