我在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. $ _post在提交表單後仍爲空
- 2. Android SharedPreferences在提交後爲空
- 3. 表單提交後選擇值爲空
- 4. 提交後Rails POST params爲空?
- 5. $ _FILES表單提交後爲空
- 6. Portlet表單提交後字段爲空
- 7. 提交後的空日誌
- 8. 後陣列空提交
- 9. $ _POST在提交表格後空了
- 10. 在提交後清空textarea的內容
- 11. 如何在提交後清空dropzone reactjs
- 12. 爲什麼TextBox提交後提交reactjs
- 13. 附帶AsyncTask的Android片段在Activity中提交後爲空
- 14. 提交後,將空值傳遞給控制器中的參數?
- 15. 在JSF表單的SelectOneMenu控件中動態添加選項提交爲空
- 16. 提交給控制給出空值
- 17. 在git init之後自動提交一個空的.gitignore文件?
- 18. 高亮提交控件
- 19. PHP提交表單後提交空白頁
- 20. 在ASPX中提交後保留HTML控件值
- 21. Java Servlet空白頁後按鈕提交
- 22. $ _ POST是空的形式提交後
- 23. 按在WebBrowser控件提交按鈕
- 24. Git預提交鉤子在提交後添加文件
- 25. php在表單提交動作值設置爲空,直到第二個表單提交然後設置爲值
- 26. 爲什麼git提示我提交後合併提交消息?
- 27. 如何在提交後提交表單中的自動填空字段
- 28. $ scope在通過郵件提交時變爲空
- 29. 爲什麼GET提交表單後$ _GET爲空,爲什麼是「?」附加到表格提交網址
- 30. Typo3(7.6.4)Extbase提交後新的Action參數爲空