嗨我有一組單選按鈕,用於「yes」和「no」值,其名稱爲「choice」。默認選中「是」。他們都runat =「服務器」。我閱讀下面的回發選項。只要驗證不失敗,它就可以很好地工作。例如,如果我選擇「否」並且在回發時驗證失敗,我仍然看到選擇「否」。但如果我在更正所有內容後提交表單,則在服務器端讀取的值爲「是」!這是.net中的一個錯誤,如果是這樣,我該如何解決這個問題?單選按鈕在回發時丟失數值
foreach (string key in Request.Form.AllKeys)
{
if (key.EndsWith("choice"))
return Request.Form[key] == "yes";
}
是否.aspx頁面都「的EnableViewState」啓用?我遇到過一次類似的問題,控件在窗體上顯示了一件事,但提交的數據完全不同。當我將EnableViewState設置爲true時,它已經修復。 – 2010-05-03 16:39:58
是視圖狀態已啓用。這就是表單仍然保留在回發之前選擇的值的方式。因此,如果我在回發之前選擇了「否」,則重新呈現的頁面仍顯示爲「否」。但是,如果在此之後提交,則回讀的值爲「是」 – Riz 2010-05-03 16:41:25
瞭解。就我而言,我對我的控制啓用ViewState的,而不是網頁,所以它會繼續回傳跟蹤更新爲好,但網頁本身顯然沒有在意,那麼結果將在時間變得相當不尋常。對不起,我無法進一步幫助。 – 2010-05-03 16:44:59