2009-06-11 94 views
0

我在ASP.NET中使用自定义控件来处理文件上传。控制在代码隐藏使用像这样的处理程序:registerClientScriptBlock在自定义处理程序中?

Protected Sub UploadFileComplete(ByVal sender As Object, ByVal e As UploadControl.FileUploadCompleteEventArgs) Handles UploadControl.FileUploadComplete 

在这一分,我回发到服务器,做数据库的一些工作,但后来我回来的时候,我想的JavaScript在那个时候注册。

但是,当我使用Page.ClientScript.RegisterClientScriptBlockScriptManager.RegisterClientScriptBlock时,脚本不会加载到页面上。我需要这个JavaScript来运行和更新页面,并关闭上传对话窗口。我认为这是因为该页面已经加载。

有没有人有如何做到这一点好主意?

回答

0

好吧所以原来是这样的......

在服务器端(代码隐藏),在UploadFileComplete()子,你可以通过使用方法e.CallbackData = [WHATEVER]访问EventArgs变量。

,然后在JavaScript中,你使用这个内置的客户端功能:

function UploadComplete(args){ 
    alert(args.callbackData); 
} 

args.callbackData变量不管你把通过服务器端。漂亮光滑,我想!但很难找出原因,他们没有记录得很好。

这样,您不需要添加自己的RegisterClientScriptBlock方法,因为您可以使用其内置方法将任何想要的JavaScript传递给JavaScript。