void OnUploadComplete() { _session = SlickUploadContext.CurrentUploadSession; if (_session != null && UploadComplete != null && (string.IsNullOrEmpty(_session.SourceUploadConnectorId) || ClientID == _session.SourceUploadConnectorId)) { string key = "kw_HasOnCompleteFired" + _session.UploadSessionId; bool hasOnCompleteFired = Context.Items[key] is bool?(bool)Context.Items[key] : false; if (!hasOnCompleteFired) { Context.Items[key] = true; UploadComplete(this, new UploadSessionEventArgs(_session)); ComponentHelper.EnsureParentUpdatePanelUpdated(this); } } }