在ASP.NET页面中无需单击按钮即可在Ajax方法中调用ClientScript
当Ajax页面方法函数返回成功且没有按钮单击作为受保护的子函数时,我需要调用一个函数。我无法将ClientScript直接包含在方法或共享函数中,并且该方法不允许在没有共享的情况下调用Public sub UpdateText()。。。有什么想法吗在ASP.NET页面中无需单击按钮即可在Ajax方法中调用ClientScript,asp.net,ajax,methods,clientscript,Asp.net,Ajax,Methods,Clientscript,当Ajax页面方法函数返回成功且没有按钮单击作为受保护的子函数时,我需要调用一个函数。我无法将ClientScript直接包含在方法或共享函数中,并且该方法不允许在没有共享的情况下调用Public sub UpdateText()。。。有什么想法吗 '''' Method for Ajax with SQL and other functions '''' ---------------------------------------------------------- <WebMeth
'''' 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
带有SQL和其他函数的Ajax的方法
'''' ----------------------------------------------------------
_
公共共享函数SendOrder(ByVal fulldata作为字符串,
_ByVal id(作为整数)作为字符串
尝试
UpdateText()
返回“成功”
特例
返回“失败”
结束尝试
端函数
这是我需要调用的函数
'''' 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
仅在成功时调用的函数
'''' ----------------------------------------------------------
公共子UpdateText()
Dim jsUpdate As字符串
Dim cstype As类型
Dim cs As ClientScriptManager=Page.ClientScript
Dim jsUpdateTxt As String=“…”
RegisterStartupScript(cstype、jsUpdate、jsupdatext)
端接头
页面方法调用必须是静态的。它们不能与页面类的实例属性和方法交互,因为页面方法调用不会创建页面或其任何控件的实例 在返回成功或失败后,您可以在客户端像这样编写ajax方法
PageMethods.SendOrder(fulldata,id,OnRequestComplete, OnError);
function OnRequestComplete(result) {
//ToDo
}
function OnError(result) {
//ToDo
}