我正在重構一個遺留的Web應用程序。這個應用程序有一個正在使用身體標記內的onload事件(在母版頁上)來運行此JavaScript腳本。請注意,此腳本標記位於文檔中的表單元素之後。我知道語法看起來很醜陋(或者Visual Studio至少告訴它是由歪曲的),但我會感到厭煩,事情確實有效。如何將一個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();
可以/我應該這樣做嗎?或者我應該創建一個返回所述變量的WebService。感謝您的任何建議。
乾杯,
〜CK在聖地亞哥
在這個應用程序,一個頁面上,說:「createInvoice.aspx」,有運行基於屏幕內容主動報告的按鈕,該報告被保存爲PDF格式,這是路徑,新創建PDF。這裏的要求是彈出新創建的PDF。單擊該按鈕將表單發回,並且onload處理程序會看到有一個值,因此它會使用該文件路徑打開一個新窗口。我已經請求重新設計該管理器,但是管理層希望在工作時使用它。他們當然非常「以我爲主」,所以他們總是想看到新的東西。沒時間清理東西了。 :(任何想法? – Hcabnettek 2009-07-09 16:15:54