2012-08-13 81 views
0

我有一個asp:GridView綁定到一個asp:SqlDataSource,在用戶單擊UI中的一個按鈕後會填充。有條件地填充GridView

爲了安全起見,我不希望GridView填充,除非一些業務邏輯檢查首先成功。

完成此操作的正確方法是什麼?

+0

在您的按鈕點擊處理程序,把代碼在if語句中填充gridview。 – 2012-08-13 19:23:40

+0

@Hans Z我在Page_Load中執行檢查,如果失敗則重定向到錯誤頁面......但由於某種原因,如果我重新發送從Fiddler之類的捕獲的http請求回發,它不需要重定向。爲什麼會這樣(在調試中,我可以看到它碰到了重定向代碼行,但它沒有做任何事情,因爲它通過它並繼續)? – 2012-08-13 20:06:35

回答

0

正確的方法是在Code Behind上進行。不要設置標記中的數據源和公正分配上的代碼Datasource是否已執行了你的業務邏輯背後之後,並驗證它應該填充網格:

protected void button_click(object sender, EventArgs e) 
{ 

    if(validateBusinessRules()) 
    { 
     gridview1.DataSource=SqlDataSource2; 
     gridview1.DataBind(); 
    } 
}