Imports Infragistics.WebUI.Shared
Imports Infragistics.WebUI.WebSchedule
...
Private Sub WebScheduleOleDbProvider1_OnError(ByVal sender As Object, _
ByVal args As DataProviderErrorEventArgs) _
Handles WebScheduleOleDbProvider1.DataProviderError
' エラーの原因が並行処理の競合であり、その他の
' データ プロバイダー エラーではないことをチェックします。
If ( args.Condition = ErrorCondition.ConcurrencyConflict ) Then
' Javascript コードを追加するために StringBuilder を作成します。
Dim jsAlertBuf As New StringBuilder()
' 説明メッセージをユーザーにポップアップする
' Javascript ブロックを構築します。
jsAlertBuf.Append("<script language='Javascript'><!--" + vbCrLf)
jsAlertBuf.Append("alert(""Another user has already modified")
jsAlertBuf.Append(" the appointment you requested to change,")
jsAlertBuf.Append(" therefore your changes could not be made")
jsAlertBuf.Append(" to the database."");" + vbCrLf)
jsAlertBuf.Append("-$$->$$</script>")
' ASP.NET で Javascript ブロックを登録すると、
' クライアントにレンダリングされてメッセージ ボックスが表示します。
Page.RegisterStartupScript("wsAlert", jsAlertBuf.ToString())
ElseIf ( args.Condition <> ErrorCondition.OK ) Then
' データ プロバイダー エラーの原因が
' 並行処理の競合でない場合、基本の例外を
' 再度スローすることを推奨します。
Throw args.Exception
End If
End Sub