我在asp.net頁面上有一個checkboxlist和textbox控件,並且這些控件是動態創建的並且被添加到頁面中。填充值並提交表單時,值在到達服務器時爲空。任何幫助?控件在提交後爲空
Q
控件在提交後爲空
0
A
回答
1
它們是空的,因爲它們在頁面生命週期中被重新創建得太晚。
在不知道確切點在ASP.NET Page Lifecycle您要添加的控件(雖然我猜這是任何的Page_Load或事件處理程序),它是這樣的:
- 生成控件樹
- 添加動態控件
- 渲染
(回傳)
- 生成控件樹
- 重新構建視圖狀態&結合郵政值
- 添加動態控件
- 渲染
爲了解決這個問題,你需要確保創建足夠早在你的控制生命週期。標準的做法是打破了「控制創造」到一個單獨的方法,並CreateChildControls中時,檢查,看看是否需要創建:
override CreateChildControls()
{
if(IsPostBack)
{
EnsureDynamicControlsAreAdded();
}
}
這樣,如果他們確實需要的東西作爲最初加入作爲一個事件處理程序(例如Button_Click),在生命週期的最後階段,您可以從那裏調用相同的EnsureDynamicControlsAreAdded
方法,並且在下一次往返時,它們將更早創建。
0
除了Rex M的回答,您可以嘗試在「Page_Init
」事件中創建控件 - 這是頁面生命週期中的第一個事件之一,並且我通常會在viewstateless頁面中創建控件(注意:如果你這樣做,不要用「if (!IsPostback)
」圍繞Page_Init處理程序的內容 - 這將阻止它按預期工作)。
相關問題
- 1. 提交後列表爲空
- 2. Android SharedPreferences在提交後爲空
- 3. $ _post在提交表單後仍爲空
- 4. 提交頁面後Chrome瀏覽器JavaScript控制檯爲空
- 5. Portlet表單提交後字段爲空
- 6. $ _FILES表單提交後爲空
- 7. 提交表單後POST值變爲空
- 8. 提交後Rails POST params爲空?
- 9. 表單提交後選擇值爲空
- 10. 表提交爲空
- 11. 提交後的母版頁控件ID
- 12. 後陣列空提交
- 13. 提交後的空日誌
- 14. 提交後表格空白
- 15. $ _POST在提交表格後空了
- 16. 在提交後清空textarea的內容
- 17. 如何在提交後清空dropzone reactjs
- 18. $ _FILES用輸入文件提交表單後數組爲空
- 19. 爲什麼TextBox提交後提交reactjs
- 20. asp:dropDownList datasource在提交後,當在ASP中聲明時爲空:UpdatePanel
- 21. 提交時爲空POST POST
- 22. 提交後,將空值傳遞給控制器中的參數?
- 23. MVC 5 - 部分視圖中的信息在提交後爲空
- 24. 附帶AsyncTask的Android片段在Activity中提交後爲空
- 25. 在JSF表單的SelectOneMenu控件中動態添加選項提交爲空
- 26. 提交給控制給出空值
- 27. ViewModel在表單提交時爲空
- 28. 在git init之後自動提交一個空的.gitignore文件?
- 29. 高亮提交控件
- 30. Codeigniter提交表單提交後的空白頁