2012-09-21 99 views
1

我正在研究Asp.net,C#應用程序。 我想點擊「更新」LinkBut​​ton後刷新網頁;在網格視圖中。我已經嘗試了下面的代碼;但它只刷新頁面而不在Grid視圖中保存更新的數據。如何在網格視圖中單擊「更新」後刷新網頁

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 
+0

如何試圖調試代碼以找出在PageLoad方法中加載頁面中的信息?什麼是你的GridView的數據源? –

回答

2

使用RawUrl,而不是名稱:

Response.Redirect(Request.RawUrl) 

原始URL被定義爲URL的以下域 信息的一部分。在URL字符串 http://www.contoso.com/articles/recent.aspx中,原始URL爲 /articles/recent.aspx。原始URL包含查詢字符串,如果存在 。

編輯「沒有網格視圖保存更新數據」

爲什麼你認爲重定向頁面本身應該保存在某個地方的東西嗎?

看一看這個教程:Inserting, Updating, and Deleting Data with the SqlDataSource (C#)

我假設你真的想更新GridView的而不是整個頁面。那麼你應該撥打GridView.DataBind()

+0

對不起,但它沒有解決問題;不過感謝這是一個好的提示;我已將代碼更改爲「Request.RawUrl」 –

+2

我建議查看本教程,該教程將對其進行解釋:http://www.asp.net/web-forms/tutorials/data-access/accessing-the -database-directly-from-an-aspnet-page /插入更新和刪除數據與sqldatasource-cs –

+0

是的,先生我看過這些教程,他們確實幫助我更新數據,但是,我需要在更新後刷新頁面。 你提出了一個好點; 「你爲什麼認爲將頁面重定向到自己應該可以在某處保存某些東西?」 那麼,你認爲我應該如何解決這個問題。 謝謝 –

0

我的猜測(在代碼中沒有其他信息,很難說)是儘管信息保存在數據庫中,gridviewdatasource沒有用新值刷新。 我在這部分經常看到這個問題。

在重定向之前,您必須重新綁定與Page.DataBindGridViewName.DataBind()(其中GridViewName是您的gridview的名稱)的gridview。

您可能不會重新加載GridView PageLoadPageLoad不會發生(不知道沒有服務器代碼)。如果這可以正常工作,那麼在重定向之前不需要數據綁定。