因此,我的頁面上有一個包含數百個項目的dropDownList。用戶可以通過在文本框中輸入一些文本來過濾此DDL。然後相應地過濾DDL(所有不包含輸入文本的項目都將通過JavaScript刪除)。用戶然後選擇他的項目並按下一個按鈕。通常,這會導致錯誤,因爲DDL已被更改並且ASP驗證PostBack數據。但是,使用EnableEventValidation="false"
可以關閉此行爲,並且頁面可以正確導入。但(這就是我的問題):DDL的SelectedIndex在服務器端始終爲「0」,因此SelectedItem是錯誤的。很顯然,客戶端的變化被駁回。有沒有人有關於如何獲得正確的SelectedItem的想法?或者更好的方法來過濾DDL並保持正確的SelectedItem?Asp.Net:在服務器端恢復DropDownList客戶端SelectedItem
0
A
回答
1
當用戶按下一個按鈕時,使用jQuery獲取當前下拉值,並將其設置在頁面上的隱藏字段中,給隱藏的字段runat =「server」,以便當它回發時,您將獲得選定的值。 例如
<asp:DropDownList class="myList"></asp:DropDownList>
<asp:Button class="btn"/>
<input type="hidden" id="hdnSelectedI" runat="server" class="hiddenControl">
$(document).ready(function(){
$(".btn").click(function(){
var selectedItem = $(".myList").val();
$(".hiddenControl").val(selectedItem);
});
});
我已經使用CLAS名稱選擇作爲ASPNET ID是自動生成的。在服務器端獲得 hdnSelectedItem.Value
的值,並從服務器上維護的項目/ db列表中獲取值。
+0
謝謝,這將是一個很好的解決方法。通過嘗試這個解決方案,我發現了一個在我的JS代碼中導致DDL選項丟失值的錯誤 - >回發數據錯誤 - > selectedIndex錯誤。現在沒有解決方法它工作正常。 – Cleo
相關問題
- 1. asp.net驗證客戶端或客戶端或服務器端
- 2. DropDownList客戶端onchange停止服務器端SelectedIndexChanged事件
- 3. WCF服務器/客戶端回調,從客戶端到服務器的回覆
- 4. Java:服務器/客戶端 - >客戶端/客戶端
- 5. ASP.NET Response.Cookie客戶端或服務器?
- 6. 如何在服務器端從客戶端恢復System .__ ComObject狀態?
- 7. 從客戶端副本恢復VisualSVN服務器
- 8. 暫停恢復客戶端 - 服務器文件上傳
- 9. QBD V2客戶端恢復
- 10. 如何讓服務器端下拉selectedItem屬性值,當我在客戶端
- 11. 訪問客戶端數組在服務器端ASP.Net
- 12. 調用服務器端的方法從客戶端在asp.net
- 13. 在asp.net中調用客戶端的服務器端方法
- 14. asp.net服務器端禁用在客戶端啓用Radiobutton
- 15. 客戶端服務器 - (TCP)
- 16. BufferedReader,客戶端/服務器
- 17. JXTA客戶端 - 服務器
- 18. 客戶端服務器C++
- 19. 服務器客戶端iphone
- 20. 服務器和客戶端
- 21. 服務器/客戶端C#
- 22. Android客戶端服務器
- 23. Arduino客戶端/服務器
- 24. 服務器客戶端java
- 25. Java客戶端服務器
- 26. TCP客戶端服務器
- 27. SVN在服務器端恢復
- 28. 在客戶端使用web服務asp.net
- 29. 服務器端客戶端程序C
- 30. JavaScript中的客戶端服務器端
您可以將代碼發佈到您如何加載和操作DDL。通常情況下,回發並不關心你是否操作ddl項目,只要它可以匹配到發佈後的預期有效值服務器端。 – Kelsey