簡體   English   中英

FileUpload控件在第二次單擊時工作但不首先嘗試保存已發布的文件?

[英]FileUpload control working on second click but not first attempt of saving posted file?

我的問題

我設法回答了自己,但是同樣的功能還有另外一個問題。 由於某種原因,發布文件的保存事件的第一次回發命中Ol'對象未設置為對象錯誤的實例,但是第二次嘗試上載文件並觸發我的保存事件(轉換為byte []存儲為SQL Server BLOB)它確實應該做的一切。

同樣的問題在這里

有一個很好的建議使用AJAX AsyncUpload控件,但我堅信要消除原因而不是處理問題。 我將繼續沿着這條路走下去,以便最好地了解asp.net等。

你們之間是否會有一個wizrd可以幫助我找出為什么我在第一次回發時得到“對象引用沒有設置為obj的錯誤”,但是在第二次它工作正常。 內容頁面有一個母版頁,它在更新面板中包裝內容頁面。 不是我決定這樣做的。 還有一個更新面板,其中包含針對我的保存事件的回發觸發器。

你有什么想法?

問題(如http://forums.asp.net/t/1060363.aspx所示 )似乎是在周圍面板上使用visibility屬性時(因為它似乎來自鏈接的問題)。

建議的解決方法是使用CSS可見性,所以使用它可以使其不可見 -

<asp:Panel ID="pnlUpload" runat="server" class="workerDetailsPanelLeft" style="display:none">

從線程的解釋是

如果您的容器設置為不可見,則上傳控件實際上不會呈現為HTML,導致窗體的enctype不能設置為enctype =“multipart / form-data”,導致文件上載控件不將所選文件發布回服務器。 解決方法是確保將FileUpload控件呈現為HTML(通過將其樣式設置為display:none而不是Visible = false),或者通過手動設置enctype

因此,另一種解決方法是將表單標記更改為此

<form id="form1" enctype="multipart/form-data" runat="server">

我認為其中任何一個都可以解決你的問題。

您可以通過Page_Load事件上的代碼執行相同的操作。輸入此代碼,它將解決問題。

Page.Form.Attributes.Add("enctype", "multipart/form-data");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM