Вызов ClientScript в методе Ajax без нажатия кнопки на странице ASP.NET
Мне нужно вызвать функцию, когда функция метода страницы Ajax возвращает успех и без нажатия кнопки в качестве защищенного подпрограммы. Я не мог включить ClientScript непосредственно в метод или в разделяемую функцию, и метод не позволяет вызывать Public Sub UpdateText() без Shared... какие-либо идеи?
'''' Method for Ajax with SQL and other functions
'''' ----------------------------------------------------------
<WebMethod()> _
Public Shared Function SendOrder(ByVal fulldata As String,
_ByVal id As Integer) As String
Try
UpdateText()
Return "Success"
Catch ex As Exception
Return "failure"
End Try
End Function
И вот функция мне нужно вызвать
'''' Function to call only on success
'''' ----------------------------------------------------------
Public Sub UpdateText()
Dim jsUpdate As String
Dim cstype As Type
Dim cs As ClientScriptManager = Page.ClientScript
Dim jsUpdateTxt As String = "<script language='javascript'>...</script>"
ClientScript.RegisterStartupScript(cstype, jsUpdate, jsUpdateTxt)
End Sub
1 ответ
Вызовы методов страницы должны быть статическими. Они не могут взаимодействовать со свойствами и методами экземпляра вашего класса Page, поскольку вызов метода страницы не создает ни экземпляра страницы, ни какого-либо из ее элементов управления.
после возврата либо успеха, либо неудачи, вы можете кодировать методы ajax на стороне клиента так
PageMethods.SendOrder(fulldata,id,OnRequestComplete, OnError);
function OnRequestComplete(result) {
//ToDo
}
function OnError(result) {
//ToDo
}