我正在使用asp:upload控件上傳圖像,並使用postingfile屬性將路徑插入數據庫。在我的表單中,我有一個autopostback = true的下拉列表,用戶可以選擇一個主題來填充類別的複選框列表。在回發期間,發佈的文件值正在丟失,經過一些研究後,我發現由於安全原因,發佈的文件值沒有在視圖狀態下維護。有沒有人發現如何解決這個問題?asp:upload postfile在回發期間丟失
0
A
回答
3
這就是它的工作原理。解析HTML頁面時絕不會使用intput type =「file」的值。這是一個巨大的安全風險,所以現代瀏覽器不會讓他們「保留」價值。所以在ASP.NET中,每個回傳「失去」價值。
在輸入控件中包含文件的任何回傳中,請務必將值保存在稍後可以獲取的某處。
或者不要設計一個使用文件上傳來進行多次回傳的表單。也許可以考慮將你的下拉列表和相關控件包裝在UpdatePanel中,這樣文件上傳不會被清除。
1
我會嘗試通過JavaScript/AJAX加載複選框列表,可能會將複選框列表的值保存到隱藏字段,以便我可以在回發中保留這些值。
這可能不是理想的,但如果你想這樣做沒有回傳,在某些時候你將不得不使用JavaScript。
1
您可以嘗試AjaxControlToolkit中的AsynchFileUpload控件,但是除非將文件保存到臨時文件夾並從該臨時文件夾加載文件列表,否則沒有標準文件上傳的解決方法。
2
輸入文件元素的值屬性根本不能由用戶交互除外設置。這是它的工作方式,並且這不會因安全問題而改變。也就是說,你的解決方案是消除回傳。
相關問題
- 1. GridView在回發期間丟失數據
- 2. 轉發器中的項目在回發期間丟失(回調)
- 3. 在回發期間GridView丟失列內容
- 4. 在zend框架中回發期間確認密碼值丟失?
- 5. 在回發站丟失值
- 6. 回發後丟失css類
- 7. 在uimodaltransition期間丟失了tabbar
- 8. 在AsyncTask期間的網絡丟失
- 9. Dropdownlist在autopostback期間丟失了價值
- 10. Form_AfterUpdate在SubForm.Recordset更改期間丟失
- 11. UDP - 在microbursts期間丟失數據
- 12. 在查詢期間MySQL連接丟失
- 13. 如何防止silverlight多文件上傳在回發期間丟失圖像
- 14. 爲什麼JQuery日期選擇器在回發後丟失?
- 15. 在Maven發佈期間丟失的屬性:執行
- 16. Sinatra會話在Internet Explorer中發佈期間丟失
- 17. TreeView在回發中丟失樣式
- 18. textboxes在回發中丟失價值
- 19. 在asp.net回發中丟失的變量
- 20. 添加控件在回發中丟失
- 21. MaskedEdit Extender在回發中丟失數據
- 22. Infragistics WebDataGrid DropDownList丟失狀態在回發
- 23. 在回發中丟失文本框值
- 24. 在CSS中丟失的JavaScript回發(ASP.NET)
- 25. 在iframe中回發丟失項目DropdownList
- 26. ASP.NET在回發後丟失jQuery綁定
- 27. UserControl在回發後丟失ViewState
- 28. 模型值丟失在回發
- 29. ASP.NET回發在URL中丟失哈希
- 30. HiddenField值在回發中丟失
回傳是一切邪惡的根源! – 2010-03-29 19:31:44