Asp.NET Web部件>;Userctrl>;ClientScript.RegisterStartupScript不工作?

Asp.NET Web部件>;Userctrl>;ClientScript.RegisterStartupScript不工作?,asp.net,ajax,web-parts,Asp.net,Ajax,Web Parts,我有一个带有脚本管理器和Web部件管理器的表单default.aspx 我有4个Web部件区域。其中一个区域的内容具有基本的用户控件。用户控件在更新面板中有一个按钮,我在按钮的单击事件中有以下内容: Protected Sub cmdMarkComplete_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdMarkComplete.Click Me.Page.ClientScript.R

我有一个带有脚本管理器和Web部件管理器的表单default.aspx

我有4个Web部件区域。其中一个区域的内容具有基本的用户控件。用户控件在更新面板中有一个按钮,我在按钮的单击事件中有以下内容:

Protected Sub cmdMarkComplete_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdMarkComplete.Click
         Me.Page.ClientScript.RegisterStartupScript(Me.Page.GetType, "mymsg",   "<script>alert('hello');</script>", True)
         UpdatePanel1.Update()
End Sub
受保护的子cmdMarkComplete\u单击(ByVal sender作为对象,ByVal e作为System.EventArgs)处理cmdMarkComplete。单击
Me.Page.ClientScript.RegisterStartupScript(Me.Page.GetType,“mymsg”,“警报('hello');”,True)
UpdatePanel1.Update()
端接头
没有发生任何事情,我甚至没有得到任何javascript错误,但aync会循环,因为我可以更改标签值(作为测试)等。如果我在单击后检查源标记,“hello”甚至不在那里,因此它好像没有注册脚本。这一定是因为我在一个Web部件中有一个用户ctrl。有人能帮忙吗


提前感谢。

尝试使用ScriptManager.RegisterStartupScript,这将提供更好的支持,尤其是对更新面板中添加的脚本


尝试使用ScriptManager.RegisterStartupScript,这将提供更好的支持,尤其是对在更新面板中添加的脚本


谢谢您的评论。我使用的是Scrptmanager priar,但注意到它已被ClientScript.Reg取代。但是我无法让它工作,所以我回到了旧的ScriptManager.Reg.Hmmm,你确定吗?据我所知,我知道的过时方法是在page对象上实现的,就我所知,ScriptManager类(其中register是静态方法)是最新的。查看MSDN文档并没有提到它已经过时了(就像页面方法一样)。这是在我使用ScriptMan时。在IDE中,它像往常一样加了下划线,并说使用ClientScript。所以我当时试过了,不过我同意你的看法,这确实有点古怪。从我读到的内容来看,你只能在部分回发期间使用ScriptMan来注册内容。所有的乐趣/游戏嘿!谢谢你的评论。我使用的是Scrptmanager priar,但注意到它已被ClientScript.Reg取代。但是我无法让它工作,所以我回到了旧的ScriptManager.Reg.Hmmm,你确定吗?据我所知,我知道的过时方法是在page对象上实现的,就我所知,ScriptManager类(其中register是静态方法)是最新的。查看MSDN文档并没有提到它已经过时了(就像页面方法一样)。这是在我使用ScriptMan时。在IDE中,它像往常一样加了下划线,并说使用ClientScript。所以我当时试过了,不过我同意你的看法,这确实有点古怪。从我读到的内容来看,你只能在部分回发期间使用ScriptMan来注册内容。所有的乐趣/游戏嘿!