我正在使用 asp.net 4.0。我可以访问 ClientScriptManager,但是当我尝试输入 RegisterClientScriptBlock() 时,没有智能感知,并且我收到有关静态方法的错误。我正在查看iFrame 中的 Response.Redirect(),以重定向父窗口为例。显然有一些不同。
我所在的页面确实继承自 System.Web.UI.Page。使用这种方法的正确方法是什么?
我正在使用 asp.net 4.0。我可以访问 ClientScriptManager,但是当我尝试输入 RegisterClientScriptBlock() 时,没有智能感知,并且我收到有关静态方法的错误。我正在查看iFrame 中的 Response.Redirect(),以重定向父窗口为例。显然有一些不同。
我所在的页面确实继承自 System.Web.UI.Page。使用这种方法的正确方法是什么?
来自MSDN
使用类型、键和脚本文字向 Page 对象注册客户端脚本。
请注意,它特别声明它适用于Page
对象。
Page 对象有一个类型为ClientScript的属性,ClientScriptManager
因此您可以使用RegisterClientScriptBlock()
.
如果您从 Page 继承(对不起,错过了那部分),只需使用ClientScript.RegisterClientScriptBlock
例如:
protected void Page_Load(object sender, EventArgs e)
{
ClientScript.RegisterClientScriptBlock(this.GetType(),"MyMethod","alert(1);", true);
采用
ScriptManager.RegisterClientScriptBlock
并且不要忘记将脚本管理器添加到您的页面。