Статический void клиентский скрипт

У меня есть метод на веб-странице aspx, который доступен из другого класса.cs не веб-страницы. Этот метод содержит ClientScript для создания всплывающего окна.

Я получаю эту ошибку ниже при попытке сделать его статическим.

Ссылка на объект требуется для нестатического поля, метода или свойства 'System.Web.UI.Page.ClientScript.get'

Поэтому мне интересно, есть ли способ получить доступ к этому методу из другого класса.cs или решения.

В основном, когда возникает ошибка в классе.cs, я хочу отобразить всплывающее окно с сообщением об ошибке.

  public static void message(string popupinformation)
    {
        ClientScript.RegisterStartupScript(this.GetType(), "", "popupinformation", true);
    }

В.cs

AddUI.message("alert('Error can not add information');");

1 ответ

tl; dr - нужно добавить "System.web" ссылка в этой библиотеке.

Я понимаю, что у вас есть отдельный файл cs в какой-то другой библиотеке, которая вызывает функцию, находящуюся в веб-форме asp.net. Если это так, то как вы вызываете эту функцию, потому что она будет внутри класса страницы, который наследуется от system.web.ui.page,

Предположим, у вас есть это сделать, поместив это в App_Code, Затем использовал этот класс сказать Web_work.cs в какой-то другой библиотеке говорят lib.cs,

Использовать ClientScript... в библиотеке с lib.cs вам нужно добавить "System.web" ссылка в этой библиотеке.

Рекомендуется выполнять все проверки в библиотеке, но использовать такой метод отображения только в веб-форме. Возьмем пример, допустим, вы хотите использовать форму Windows сейчас, которая использует MessageBox.ShowВ этом случае ваша библиотека должна измениться с текущим подходом.

Другие вопросы по тегам