2010-09-01 70 views
0

我在VB.Net和Visual Studio中仍然比較新,我假設這是一個簡單的修復,但我不確定。當AutoPostBack設置爲false時,ASP複選框值不正確

我在我正在處理的aspx頁面上有一個asp:checkbox控件。此複選框位於自定義控件中,並且以前每次點擊時都會回發。我正在對頁面進行Ajax化,並遇到了問題。當我從asp:複選框中刪除屬性AutoPostBack =「True」時,當我檢查myCheckbox.checked(這是在其他頁面上的未回滾的頁面上)時,vb代碼返回False,儘管我可以看到該框確實被檢查。

我假設因爲複選框不再回發,出於某種原因VB代碼(或視圖狀態可能)沒有看到它被檢查。這是正確的,如果是這樣,我該如何糾正它?

+0

這將是有幫助的這個問題的最小工作示例。目前還不清楚你正在使用什麼來「頁面化」頁面,無論是更新面板,jquery還是其他的東西,這將有助於更多地瞭解你的自定義控件。也就是說,這裏有一些猜測:如果您使用更新面板,請確保您的控件位於更新面板內。如果您的自定義控件是複合控件,請確保將控件添加到'CreateChildControls()'方法中的集合中,並且該屬性設置器/ getters調用'EnableChildControls()'。 – kbrimington 2010-09-01 21:50:11

+0

我很想去,但由於NDA和文件的大小,我不知道我是否可以。我會研究你在這裏發佈的內容,併發布我發現的更新。 – 2010-09-01 23:06:18

+0

我可以說我們使用jQuery進行ajax調用,但它不在ajax調用上,我們有這個問題,它是仍在頁面上的回發調用之一 – 2010-09-01 23:13:10

回答

0

我改變的複選框從ASP控制的類型爲複選框的HTML輸入和現在的作品:)

-1

我假設因爲複選框不再回發,出於某種原因VB代碼(或視圖狀態也許)沒有看到它被檢查。

這是正確的,您的切換複選框只發生在客戶端,所以您的服務器端不知道更改。

+0

-1這是不正確的。生成PostBack時,複選框的Checked屬性的值應該爲true。 – 2010-09-02 15:19:44