2009-04-07 12 views
1

我正在處理.net(C#)Web應用程序。代碼認爲Datagrid頁腳文本框爲空

最近出現了一種缺陷,說明當兩個用戶同時登錄到應用程序時,如果沒有人刷新頁面,他們都無法更新值。當我看到這個問題時,我發現代碼的作者使用了靜態數據集。我改變了數據集不是靜態的,一切都很好。

但是,這個問題跨越了應用程序中的許多頁面,我必須在任何地方修復它。在其中一些頁面上,應用程序使用數據集將數據綁定到數據網格。數據網格用數據集中的信息填充,頁腳包含一些文本框和添加按鈕以添加額外的行。這裏是問題開始的地方:

當頁面使用靜態數據集並且用戶試圖通過界面添加一行時,一切正常。但是,當我將其更改爲使用非靜態數據集(每次加載頁面時加載它們)並且用戶嘗試添加一行時,代碼都認爲文本框是空的(即使可以看到我輸入的文本),空字段驗證失敗並顯示一條消息。

有人可以告訴我爲什麼在地球上這是發生?爲什麼當數據集是靜態的時候(數據集從不填充腳行)看到文本,並且當文本不是靜態時看不到文本?有些見解會很棒!

在此先感謝!

回答

2

結果表明網格綁定有問題。

綁定發生在數據集被實例化時。這意味着每次頁面加載時,綁定再次發生並導致文本爲空。這很奇怪,因爲item命令看起來像是在頁面加載之前執行的,但datagrid無論如何都不喜歡它。我移動了發生綁定的位置,以便在頁面加載時發生一次(當然,當網格添加某些內容時會發生)。

這似乎有伎倆!