У меня есть этот скрипт для запуска окна предупреждения:PopUp Бдительных проблем Window
<asp:Content ID="RegisterMain" ContentPlaceHolderID="MainContent" runat="server">
<script language="javascript" type="text/javascript">
function popup(msg) {
window.alert(msg);
window.window.focus();
}
</script>
.........
</asp:Content>
И я также иметь эту процедуру в коде позади, чтобы запустить этот скрипт:
Public Sub PostError(inheretedPage As System.Web.UI.Page, sender As Object, msg As String)
Dim cstype As Type = inheretedPage.GetType()
Dim innerMess As String = msg
Dim url As String = HttpContext.Current.Request.Url.AbsoluteUri
Dim script As String = "popup('" & innerMess & "')"
If Not Page.ClientScript.IsStartupScriptRegistered(inheretedPage.GetType(), "alertscript") Then
Page.ClientScript.RegisterStartupScript(cstype, "alertscript", script, True)
End If
End Sub
Все идет хорошо когда я запускаю следующую инструкцию непосредственно из кода позади и до начала чего-либо:
PostError(Me, sender, "Your e-mail address is not good")
Программа проходит далее в класс, чтобы сделать процесс для базы данных и сервера.
В случае ошибки внутри класса я использую эту строку, чтобы вернуть ошибку для отображения.
Catch ex As OleDbException
Dim SHandler As New Web.SQLServer.DBHandler
ErrorAnswer = SHandler.GetError(ServerConn.Provider, ex, Nothing)
retVal = False
End Try
Return retVal & "|" & faultReason & "|" & ErrorAnswer
В этом случае я забираю сообщение об ошибке в коде позади, как возвращаемой переменной из класса, и обрабатывать его внутри этой процедуры с помощью следующей инструкции:
ErrorAnswer = "Server is open, and base is closed"
PostError(Me, sender, ErrorAnswer)
Как мы видим, инструкция в обоих случаях одинакова, вначале и в порядке выполнения кода.
Теперь моя проблема заключается в том, что команда Direct переходит из сценария и выполняется просто отлично, но косвенная (которая поступает из класса) не выполняет скрипт, даже если у нее есть все переменные точно так же, как и прямые.
Сценарий не вызывается во втором случае.
фильме INFORMATIONS
В первом случае процедура PostError
имеет:
cstype = {Name = "pages_account_register_aspx" FullName = ASP.pages_account_register_aspx"}<br/> popup('Your e-mail is not right')
А во втором случае же porcedure имеет:
cstype = {Name = "pages_account_register_aspx" FullName = ASP.pages_account_register_aspx"}<br/> script = "popup('Login timeout expired')"
Вы проверили консоль ошибок javascript в своем браузере? –
Да и у меня нет ошибок –