ASP.Netでアラートを表示したいときがよくあります。
画面上に赤文字でエラーを表示したりしていたのですが見た目がよくないので、JavaScriptでアラートを表示する関数を使うようにしてみました。
'====================================================================
Private Sub AlertBox(ByVal strMSG As String)
Dim startupScript As String
Dim strScript As String
Dim startupScript As String
Dim strScript As String
strScript = " alert('" + strMSG + "') "
startupScript = "<script language='JavaScript'> " + strScript + "</script>"
ClientScript.RegisterStartupScript(Me.GetType(), "key1", startupScript)
startupScript = "<script language='JavaScript'> " + strScript + "</script>"
ClientScript.RegisterStartupScript(Me.GetType(), "key1", startupScript)
End Sub
'=====================================================================
修正版
Private Sub AlertBox(ByVal strMSG As String)
Dim startupScript As String
Dim strScript As String
strMSG = Replace(strMSG, "'", Chr(34))
Dim startupScript As String
Dim strScript As String
strMSG = Replace(strMSG, "'", Chr(34))
strMSG = Replace(strMSG, vbCrLf, " ")
strScript = " alert('" + strMSG + "') "
startupScript = "<script language='JavaScript'> " + strScript + "</script>"
ClientScript.RegisterStartupScript(Me.GetType(), "key1", startupScript)
System.Diagnostics.Debug.Write(strMSG)
End Sub
strScript = " alert('" + strMSG + "') "
startupScript = "<script language='JavaScript'> " + strScript + "</script>"
ClientScript.RegisterStartupScript(Me.GetType(), "key1", startupScript)
System.Diagnostics.Debug.Write(strMSG)
End Sub
**出力文字列によってはJavaScriptがエラーになるので、とりあえず改行コードとシングルコートを変換するようにしました。
JavaScriptがオフされているとどうしようもないのですが、ASP.net自体クライアント側にスクリプトをはきまくりなので、そもそもJavaScriptがオフされているとASP.Netが動かないとかありそうですね。