更新面板中的ASP.NET VB PostBack
我正在尝试对此错误加载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)
没有有效......这里有什么我想念的吗?
答案 0 :(得分:1)
我不认为其中任何一个都可以工作,因为(我认为,虽然我可能错了)这些方法只能通过将脚本添加到html页面表单的开头或结尾来进行操作。您可能能够将脚本直接呈现到ajax响应中,比如在更新面板中使用文字控件,但我记得有一些问题。这已经过了几年,但它似乎与这个问题有关:SCRIPT tag removed from AJAX response in Internet Explorer。注意:他们显然通过调整作为响应发送的html解决了他们的问题。一个有点安全的赌注是在你的更新面板中有一些隐藏的输入或内容,它们包含你需要的一切,并且有一些只在更新面板更新后才能运行的javascript根据隐藏的输入或内容取消某些内容。当然,这很容易成为设置和维护的难点(除非您使用某些javascript库提供的某种通用event
机制)。
答案 1 :(得分:1)
问题是我需要使用RadScriptManager - Telerik UpdatePanels的一部分才能使其正常工作。
RadScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "errorDemoManual", "errorDemoManual();", True)