我正在使用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. 在回發站丟失值
- 5. 在uimodaltransition期間丟失了tabbar
- 6. Form_AfterUpdate在SubForm.Recordset更改期間丟失
- 7. 在查詢期間MySQL連接丟失
- 8. 如何防止silverlight多文件上傳在回發期間丟失圖像
- 9. HiddenField值在回發中丟失
- 10. 添加控件在回發中丟失
- 11. Infragistics WebDataGrid DropDownList丟失狀態在回發
- 12. ASP.NET回發在URL中丟失哈希
- 13. MaskedEdit Extender在回發中丟失數據
- 14. ASP.NET在回發後丟失jQuery綁定
- 15. 動態控件在回發時丟失
- 16. textboxes在回發中丟失價值
- 17. 在回發中丟失文本框值
- 18. 在iframe中回發丟失項目DropdownList
- 19. textBox在回發中丟失值?
- 20. 活動更換期間丟失廣播
- 21. C#日期時間到SQL日期時間丟失精度
- 22. 在兩個日期之間找到丟失的日期
- 23. 回發後丟失jQuery功能
- 24. 回發後文本框丟失值
- 25. asp.net c#ip地址丟失後回發?
- 26. 頁面回發時丟失Web部分
- 27. 的smtplib發送郵件丟失時間
- 28. hg pull期間連接丟失。現在我的回購已損壞?
- 29. 在回發模型和視圖模型內丟失數據在回發
- 30. ASP.Net在回發期間丟失文本框值,當您有大量文本框時
回傳是一切邪惡的根源! – 2010-03-29 19:31:44