私はこれがむしろ些細な質問であることは知っていますが、とにかくそれが解決可能かどうかを知りたいのです。AjaxToolkit AsyncFileUploadはViewStateModeを有効にする必要があります。
ネストされたマスターページを持つASP.NET Webフォームページがあり、JavaScriptにも含まれています。私はjQueryとAjaxの呼び出しを大量に使用しています。ページがロードされると、サーバーとのすべての通信はAjaxの呼び出しで行われるため、ViewStateを有効にする必要はなく、HTML出力コードが減少します。
ここで、ユーザーがファイルをアップロードできるページを実装する必要があります。だから、私はAjaxToolkitFileUploadのAsyncFileUploadコントロールを使用しました。ファイルがアップロードされると、サーバーにAjaxコールを行ってファイル名を要求します。
すべて正常に動作しますが、FireCloudがOnClientUploadStartedイベントとOnClientUploadCompleteイベントの間でファイルアップロードごとに10個のエラーを検出したことに気付きました。ファイルが正しくアップロードされ、クライアント側のイベントも機能しています。しかし、私はエラーが投げられているという事実を無視できないので、私は問題を探しに行った。
私はページ単位で再構築し、このコントロールではViewstateを有効にする必要があることがわかりました。 ページビューでviewstate = disabledを指定すると、ファイルサイズは76.6kb、viewstate = enabledのサイズは99.2kbです。
また、私はそれが自明であり、サイトのパフォーマンスに影響しないことを知っていますが、それは知っていいです。
- なぜこのコントロールはviewstateを必要としますか? (私はそれが実際にファイルをiFrameなどに投稿するからだと思います)
- どのようにしてビューステートを縮小し、このコントロールを適切に動作させることができますか?