registerClientScriptBlock在自定义处理程序中?
问题描述:
我在ASP.NET中使用自定义控件来处理文件上传。控制在代码隐藏使用像这样的处理程序:registerClientScriptBlock在自定义处理程序中?
Protected Sub UploadFileComplete(ByVal sender As Object, ByVal e As UploadControl.FileUploadCompleteEventArgs) Handles UploadControl.FileUploadComplete
在这一分,我回发到服务器,做数据库的一些工作,但后来我回来的时候,我想的JavaScript在那个时候注册。
但是,当我使用Page.ClientScript.RegisterClientScriptBlock
或ScriptManager.RegisterClientScriptBlock
时,脚本不会加载到页面上。我需要这个JavaScript来运行和更新页面,并关闭上传对话窗口。我认为这是因为该页面已经加载。
有没有人有如何做到这一点好主意?
答
好吧所以原来是这样的......
在服务器端(代码隐藏),在UploadFileComplete()
子,你可以通过使用方法e.CallbackData = [WHATEVER]
访问EventArgs
变量。
,然后在JavaScript中,你使用这个内置的客户端功能:
function UploadComplete(args){
alert(args.callbackData);
}
这args.callbackData
变量不管你把通过服务器端。漂亮光滑,我想!但很难找出原因,他们没有记录得很好。
这样,您不需要添加自己的RegisterClientScriptBlock
方法,因为您可以使用其内置方法将任何想要的JavaScript传递给JavaScript。