Нельзя использовать свойства экземпляра (ClientScript
) или методы (GetType()
) внутри статических методов (в основном, любого экземпляра).
Удалите статическое ключевое слово, и оно должно работать:
public void SomeMethod()
{
ClientScript.RegisterSomeScript("Load",
"<script>....</script>");
}
РЕДАКТИРОВАТЬ после комментария:
Или, если вам нужно, чтобы метод был статическим в статическом классе, передайте объект Page в качестве параметра:
public static class ScriptRegistar
{
public static void RegisterSomeScript(Page page)
{
page.ClientScript.RegisterStartupScript("Load",
"<script>.........</script>");
}
}
Использование (внутри страницы кода):
public void Page_Load(Object sender, EventArgs e)
{
ScriptRegistar.RegisterSomeScript(this);
}
Примечание: ClientScript.RegisterStartupScript
принимает два аргумента: ключ для скрипта и текст скрипта, поэтому там нет необходимости в GetType()
.