0

更新面板中的 ASP.NET VB 回发

我试图在这个错误上加载一个 JS 函数(关闭加载覆盖和弹出窗口应该出现错误)。当我尝试显示标签时,它可以正常工作(当然它被覆盖层覆盖)。

Me.lblerrormsg.Visible = True 

我尝试了 3 种不同的方法来注册脚本:

Dim errorScript = "<script>alert('WTF');</script>" '<-- not even this works

Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "errorDemoManual",
     errorScript, True)

'Tried this one with the Panel & Page itself...
ScriptManager.RegisterStartupScript(pnlPatientInfo, pnlPatientInfo.GetType(), 
     "ErrorDemo", errorScript, True)

ScriptManager.RegisterStartupScript(Page, Page.GetType(), "errorScript",
     errorScript, True)

没有一个工作......我在这里缺少什么吗?

4

2 回答 2

1

我认为这些都行不通,因为(我认为,尽管我可能是错的)这些方法只能通过将脚本添加到 html 页面表单的开头或结尾来操作。您可能能够将脚本直接呈现到 ajax 响应中,例如在更新面板中使用文字控件,但我记得有一些问题。已经有几年了,但它似乎沿着这个问题的思路运行:SCRIPT tag removed from AJAX response in Internet Explorer。注意:他们显然通过调整作为响应发送的 html 解决了他们的问题。有点_安全的赌注是在您的更新面板中有某种隐藏的输入或内容,其中包含您需要的一切,并有某种 JavaScript 仅在更新面板更新时运行,并根据隐藏的输入或内容触发某些内容. 当然,这很容易成为设置和维护的麻烦(除非,也许,您正在使用event某些 javascript 库提供的某种通用机制)。

于 2012-08-28T15:24:38.317 回答
1

问题是我需要使用 RadScriptManager - Telerik UpdatePanels 的一部分才能使其正常工作。

RadScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "errorDemoManual", "errorDemoManual();", True)
于 2012-08-28T22:51:54.240 回答