私は従来のWebアプリケーションをリファクタリングしています。このアプリは、このjavascriptスクリプトを実行するためにbodyタグの中のonloadイベント(マスターページ上で)を使用しています。このスクリプトタグはdocのform要素の後にあることに注意してください。私は文法が恐ろしい(または少なくともVisual Studioはそれがsquigglesであることを伝えている)と思われますが、私はうんざりしているでしょう、そのことは本当にうまくいきます。ASP.NETセッション変数をJavaScriptファイルに取得するにはどうすればよいですか?
function DisplayPDF()
{
var strPDF
strPDF = "<%=SESSION("PDF")%>";
if (strPDF.length != 0)
{
window.open(strPDF);
<%Session("PDF") = ""%>
}
}
私の質問は、より洗練されたソリューションを開発しようとしています。私はASP.NETのajaxとjQueryの両方を利用できます。私はこれを処理するために使用したい小さなasp.net ajaxコンポーネントを書きました。
Type.registerNamespace("ck");
ck.pdfOpener = function() {
ck.pdfOpener.initializeBase(this);
}
ck.pdfOpener.prototype = {
initialize: function() {
ck.pdfOpener.callBaseMethod(this, 'initialize');
},
dispose: function() {
ck.pdfOpener.callBaseMethod(this, 'dispose');
},
openPDF: function(){
//HOW CAN I RETRIEVE A SESSION VARIABLE HERE???
}
}
ck.ClientControl.registerClass('ck.pdfOpener', Sys.Component);
if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();
Can /私はこのようにする必要がありますか?または、変数を返すWebServiceを作成する必要があります。アドバイスありがとう。サンディエゴの
乾杯、
〜CK
このアプリでは、「createInvoice.aspx」というページには、画面の内容に基づいてアクティブなレポートを実行するボタンがあり、そのレポートはPDF形式で保存されます作成されたPDF。ここでの要件は、新しく作成されたPDFをポップアップすることです。ボタンをクリックするとフォームがポストバックされ、onloadハンドラには値があるので、そのファイルパスを使って新しいウィンドウを開きます。私はそれを再設計するように頼んだが、経営陣はそれが動作するようにそれと一緒に行きたい。彼らは、もちろん、非常に "私を指向"なので、常に新しいものを見たいと思っています。物事をきれいにする時間がない。 :(任意のアイデア? – Hcabnettek