2012-11-12 19 views
1

因此,我使用了一個現有的聯繫人表單(工作)並將其插入到一個新項目中,現在在提交時,字段值在回發期間被清除。 Page_Load中沒有初始化類型的東西,它們將被重置,也沒有像頁面上的UpdatePanel那樣的控件。ASP.NET c#中的表格清除回發中的字段值

我有一個類似的問題,在回發期間以及在不同的頁面上,下拉列表控件的選定索引被清除。我很好奇,如果有人遇到過類似的問題,由於某種設置,等等。

+0

確保你沒有禁用ViewState,並且所有相關的控件都有'runat =「server」'。 – gdoron

+0

謝謝,如果有的話,我已經啓用了一堆地方哈哈,只是試圖讓它工作。但我確實在web配置中啓用了它。 – Matt

回答

3

如果你只是複製頁面,它的代碼隱藏到你的新項目,那麼問題很可能是名稱空間新的頁面/代碼不再匹配。所以當發佈回發時,它實際上並沒有加載代碼背後的代碼。 (易於測試,因爲在page_load方法中不會出現斷點)。

「簡單」修復方法是刪除頁面,使用標準方式向項目中添加新頁面。然後複製/粘貼代碼,確保不覆蓋命名空間片。

「複雜」的修復方法是查看.aspx頁面,代碼隱藏和設計器文件中的命名空間部分,並手動修復它們以處理現有項目的名稱空間以確保它們全部匹配。

要檢查的主要區域包括:
.aspx文件的第一行。具體而言,Inherits="..."CodeBehind="..."之間的部分

namespace部分代碼後面的文件應該與Inherits部分的第一部分相匹配。本質上,繼承將包含類名。設計師也一樣。

+0

當我複製一切時,這一切都改變了。我在Page_Load中有一個斷點,只有一個字符串變量來獲取其中一個文本字段的值,並且它總是空的。 – Matt

+0

@Matt:這可能有助於查看您的實際代碼(aspx和代碼隱藏)。 – NotMe