Я пытаюсь выполнить функцию javascript из класса C# в приложении asp.net. Я использую ScriptManager
. У меня есть класс UpdateUI
, который содержит следующий метод:Вызов ScriptManager из класса
public static void RunScript()
{
try
{
if (HttpContext.Current != null)
{
Page currentPage = HttpContext.Current.Handler as System.Web.UI.Page;
ScriptManager.RegisterClientScriptBlock(currentPage, currentPage.GetType(), "disableControls", "disableControls()", true);
}
}
catch (Exception ex)
{
}
}
Когда слово UpdateUI.RunScript()
от другого статического класса, HttpContent.Current
является null
. Любая идея, как мне идти, чтобы иметь возможность запускать scriptmanager из класса, который не является кодом?
От чего статический класс вызывает этот метод? Во время жизненного цикла страницы? В противном случае это «null» (например, с помощью веб-метода). –
@TimSchmelter Насколько я знаю в WebMethod HttpContext.Current доступен. Я думаю, что я уже сделал это, чтобы получить данные сеанса в WebMethod. –
@VitorCanova: Насколько я знаю, «HttpContext.Current.Handler» не является «страницей» в веб-методе, поэтому он «null». Однако это был просто пример. Он не упомянул, используется ли статический класс в течение жизненного цикла страницы. –