我正在重构旧版 Web 应用程序。这个应用程序有一个正在使用正文标记(在母版页上)内的 onload 事件来运行这个 javascript 脚本。请注意,此脚本标记位于文档中的表单元素之后。我知道语法看起来很可怕(或者 Visual Studio 至少通过曲线告诉它),但我会被诅咒的,这件事确实有效。
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 在圣地亚哥