Я занимаюсь рефакторингом устаревшего веб-приложения. Это приложение использует событие onload внутри тега body (на главной странице) для запуска этого сценария JavaScript. Обратите внимание, этот тег сценария находится после элемента формы в документе. Я знаю, что синтаксис выглядит отвратительно (или Visual Studio, по крайней мере, говорит, что это из-за загадок), но я буду проклят, вещь действительно работает.
function DisplayPDF()
{
var strPDF
strPDF = "<%=SESSION("PDF")%>";
if (strPDF.length != 0)
{
window.open(strPDF);
<%Session("PDF") = ""%>
}
}
Мой вопрос: я пытаюсь разработать более элегантное решение. У меня есть ASP.NET ajax и jQuery, которые доступны для меня. Я написал крошечный компонент Ajax asp.net, который я хочу использовать для решения этой проблемы.
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 в Сан-Диего