2017-07-19 4 views
1

Context.ReturnFile()ViewModelで使用されているときにafterPostbackイベントが呼び出されていないことがわかりました。私は、ポストバックが送信されると、ページ上のすべてのボタンを無効にし、postbackが終了した後、それらを再び有効にするには、次のコードを使用します。afterPostbackイベントとContext.ReturnFile

dotvvm.events.beforePostback.subscribe(function() { 
    $('.btn-primary').prop('disabled', true).addClass('m-progress'); 
}); 
dotvvm.events.afterPostback.subscribe(function() { 
    $('.btn-primary').removeAttr('disabled').removeClass('m-progress'); 
}); 

しかし、いくつかのViewModelafterPostbackは、生成されたファイルを返すようにContext.ReturnFile()を使用する場合、呼び出されず、ページのすべてのボタンが無効のままになります。

私もspaNavigatingspaNavigatedイベントを使用しようとしましたが、どちらも呼び出されていないようです。

ViewModelからファイルが返されたときに呼び出される回避策や別のイベントはありますか?

答えて

1

Context.ReturnFileは内部でリダイレクトを使用し、リダイレクトはこのイベントを発生させません。

私はGitHub issueを提出しており、afterPostbackイベントのリダイレクト時の動作を変更できるかどうかを確認します。そうでない場合は、このケースのためだけに新しいイベントを紹介します。