2011-07-12 32 views
1

我將100%ASP.NET驅動的表單轉換爲使用幾乎所有基於AJAX的體系結構,但它尚未使用AJAX調用提交數據。它做了一個完整的頁面回發。而且由於提交的按鈕仍然與很多功能綁定(這是一個帶有多個按鈕的全局按鈕自定義控件),所以我選擇不將它們轉換爲AJAX。保留由JavaScript重新構建的ASP.NET DropDownList的選定值

除了一個用例外,每條數據都可以正常提交。這是一個依賴於另一個下拉菜單的下拉菜單。 因此,現在,當最終用戶更改下拉列表1的值時,下拉列表2將從AJAX調用(JavaScript)重新獲得。請注意,下拉1的選項永遠不會改變應用程序的生命週期。當表單在該工作流程之後提交時,我們將失去下拉2的值。希望這是有道理的。如果下拉菜單1沒有改變,那麼下拉菜單2與在後面的代碼中生成表單時的選項仍然有相同的選項,所以在發佈時可以找到viewstate中的值。

現在,我有一個隱藏字段來跟蹤所選的值,現在工作正常,但有點笨拙。在開發之前,兩個下拉菜單都打開了AutoPostback屬性。這導致表單在沒有提交表單的情況下被重新提交,所以下拉列表可能會被重建。

有沒有更好的方法來解決這個問題,而沒有讓按鈕執行AJAX調用來提交數據?

回答

1

在JavaScript中操作的值無法在回發中保留,因爲它在服務器端不可訪問。您可以將選定的值放入Hidden Field,然後從隱藏字段中獲取。

+0

所以我想我的解決方案並不是那麼糟糕。 :-)感謝您的確認。 – MacGyver

相關問題