2017-06-03 17 views
0

私はこれを動作させるのに苦労しています。私はMVCをかなり新しくしています。pdfファイルのページが5分間表示された後、別のページにリダイレクト

ここに私の挑戦があります。私がコールすると想定される。この <a href="@Url.Action("ViewPdf", "Search", Model)" class="btn btn-xs btn-danger">View pdf</a>

を持って、searchResult.cshtmというビューで `

public ActionResult ViewPdf(DocumentSearchInputModel searchInputModel) 
     { 
      var realPath = 
        "C:/Users/ionyejekwe/Documents/Visual Studio 2015/Projects/OnlineSearchLagos/OnlineSearchLagos/assets/img/gtb.pdf"; 
      var fileStream = new FileStream(realPath, FileMode.Open, FileAccess.Read); 
      var fsResult = new FileStreamResult(fileStream, "application/pdf"); 
      return File(fsResult, "application/pdf"); 
     }` 

: 私はpdfファイルを読み込み、ブラウザでPDFを表示する私のコントローラ内のActionResultを持っていますpdf actionResultを呼び出してブラウザにレンダリングします。 それは完全に正常に動作します。しかし、私は5分後にpdfページを閉じたいと思っています。私はいろいろ試しましたが、うまくいかないようです。 私はこのアヤックス使用してみました:Ajaxはページに取得するかどうかを確認するために、 `ちょうど

<script> 
    $.ajax({ 
     url: '@Url.Action("ViewPdf", "Search")', 
     contentType: "application/pdf; charset=utf-8", 
     success: function() { alert('Success'); }, 
     error: function() { alert('A error'); } 
    }); 

</script>` 

を、しかし、PDFファイルがどこにあるのも、PDFのページになっていないAjaxのコードは、それがページでトリガされています呼び出されています。どうすれば5分後にpdfページを閉じたり別のページにリダイレクトしたりできますか? 本当に助けてもらえますか?

答えて

1

おそらくwindow.open()機能で試してみてください。最初のパラメータをURLとして新しいタブを開きます。 ASPの経験がないので、PDFのURLを取得しようとしていません。

var newWindow = window.open("your_url_here"); 
setTimeout(function(){newWindow.close()}, 300000); 

これはPDFで新しいタブを開き、300000ms = 5分後に閉じます。

希望すると便利です。

+0

ありがとうございます、私はこのコードをどこに置くのですか? – user8107351

+0

@ user8107351今すぐあなたのAJAXコールがあります – Luca

関連する問題