Статический 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
В этом случае ваша библиотека должна измениться с текущим подходом.