Javascript 无法访问ScriptManager

Javascript 无法访问ScriptManager,javascript,asp.net,class,scriptmanager,Javascript,Asp.net,Class,Scriptmanager,我试图从一个.cs类调用在aspx页面上实现的js函数。但是,ScriptManager似乎不存在于.cs类中。基本上,.cs文件是我在项目中使用的dll的一部分。我需要从dll中的.cs文件调用在aspx页面上实现的js函数 js函数是从aspx页面成功调用的,但是当我在.cs文件中尝试相同的代码时,它说 由于其保护级别,无法访问ScriptManager 这是我正在尝试的代码 protected void MyMethod() { ScriptManager.RegisterStart

我试图从一个.cs类调用在aspx页面上实现的js函数。但是,ScriptManager似乎不存在于.cs类中。基本上,.cs文件是我在项目中使用的dll的一部分。我需要从dll中的.cs文件调用在aspx页面上实现的js函数

js函数是从aspx页面成功调用的,但是当我在.cs文件中尝试相同的代码时,它说

由于其保护级别,无法访问ScriptManager

这是我正在尝试的代码

protected void MyMethod()
{
   ScriptManager.RegisterStartupScript(this, this.GetType(), "key", "jsfunction();", true);
}

知道为什么相同的代码在aspx页面上成功运行而不是从.cs类运行吗?

ScriptManager.RegisterStartupScript接受页面或控件作为第一个参数。确保将当前页面传递给cs方法

protected void MyMethod(Page page)
{
   ScriptManager.RegisterStartupScript(page, typeof(UpdatePanel), new Guid().ToString() , "jsfunction();", true);
}
并通过以下方式从aspx.cs页面调用:

MyMethod(this.Page);

好吧,为了克服上述问题,我只是尝试使用这段代码

System.Web.UI.ScriptManager.RegisterStartupScript(this, this.GetType(), "key", "jsfunction();", true);

请注意ScriptManager使用完整名称空间。

如果只在您的网站上使用,请尝试在web.confg中设置。这似乎可以解决问题,但现在我面临另一个问题,我认为这不是问题的一部分。谢谢你,阿基尔