javascriptによって動的にロードされるタグオブジェクトがあります。このタグは、jqueryの投稿の後に読み込まれます。
$.post('@Url.Action("ShowCredential", "ManageCredentials")',
$(form).serialize(), function(url) {
document.getElementById("credential_preview").innerHTML = "<object id='credencial_atual' type='application/pdf' classid='clsid:CA8A9780-280D-11CF-A24D-444553540000' width='250' height='420' style='border: 1px solid'> <param name='src' value='" + url + "#navpanes=0&scrollbar=0&zoom=100%' /></object>";
$("#preview_popup").show();
});
Obs:フォーム変数をフォームにロードします。
私のコードビハインドアクション「ShowCredential」では、PDFをbyte []にロードし、ユーザーセッションに保存します。
[HttpPost]
public string ShowCredential(/* the attributes to help to load the pdf */)
{
// Loading my pdf...
Session.User.CurrentPDF = // set the pdf loaded
UrlHelper urlHelper = new UrlHelper(this.ControllerContext.RequestContext);
string url = urlHelper.Action("GetPDF", "ManageCredentials");
return url;
}
URLは、PDFを返すアクションで生成されます。
[HttpGet]
public FileResult GetPDF()
{
return File(Session.User.CurrentPDF, "application/pdf");
}
それで、最初は、わかりました、正しいpdfがロードされますが、2番目、3番目...は同じpdfがロードされます、なぜですか?(私は正しいパラメータを渡すかどうかをチェックしました、はい私は=を渡します))
Obs:pdfをロードするためにデータを投稿すると、jquery returnで、コードは最初にアクションGetPDFを呼び出しますが、再度投稿すると、アクションGetPDFは呼び出されなくなります。