我正在使用c#在ASP.NET 4中使用Ajax文件上傳控件。同一頁面也有更新面板,但上傳控件不在更新面板內。上傳控件位於更新面板之外。使用Ajax更新面板的頁面無法工作文件上傳
更新面板上有一個驗證碼圖片,提交按鈕即described here too。裏面的提交按鈕包含用於保存上傳控制文件的代碼。
問題是,當用戶使用上傳控件瀏覽要上傳的文件,然後輸入錯誤的captcha值並提交時,則會向用戶提供一個新的驗證碼圖像以供輸入。現在上傳控件仍然在文件的上傳欄中顯示路徑,但在編程方面它不檢測文件。
提交按鈕代碼:
if (AsyncFileUpload.HasFile)
{
// upload logic and other stuff
}
else
{
// lblShow.Text = "There is no file to be uploaded";
}
例如上面的代碼執行else部分說「沒有要上傳的文件」。頁面仍然沒有完全刷新,文件上傳控件顯示文件的路徑。請幫助我解決這個問題。
代碼不在頁面加載事件中。它在提交按鈕的代碼中。驗證碼圖像,lblShow和提交按鈕位於更新面板內。 AsyncFileUpload是我從Ajax Toolbox使用的Ajax File Uploader控件。 – Jayesh
我想得到一個功能,例如用戶只需要上傳文件一次,因爲它是一個很重的文件,然後如果他輸入錯誤的captcha值,他可以異步糾正它。這樣用戶在下一次輸入catcha值時不必再次上傳文件。如果用戶輸入錯誤的驗證碼,並且頁面刷新另一個驗證碼嘗試,那麼用戶將再次從控件上傳整個文件。沒有解決方法來異步執行此操作嗎? – Jayesh
確實有辦法異步執行它。你可以看看使用AJAX文件上傳組件。 (我相信很多有效地使用iframe .HTML5給你更多的選擇,但沒有廣泛支持) –