Из этого примера мы можем перезвонить серверу из JavaScript без обратной отправки, но я хочу сделать метод CallServer для возврата результата, и я пытаюсь сделать это, как показано ниже
string callBackReference = Page.ClientScript.GetCallbackEventReference(this, "arg", "function(result) {alert(result);response = result;}", "context", "function(result) {response = 'Err';}", true);
string callbackScript = "function CallServer(arg, context) { var response; " + callBackReference + "; return response;}";
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "CallServer", callbackScript, true);
ив JavaScript я делаю следующее
response = CallServer("username", "");
alert("response:" + response);
всегда ответ равен undefined, хотя я делаю его асинхронным ...
Может ли кто-нибудь помочь мне найти решение для такой проблемы?
ПРИМЕЧАНИЕ: Моя главная проблема, которая заставила меня попробовать вышеуказанное решение: мне нужно вызвать метод CallServer в OnClientClick
кнопки Asp и вернуть true или false, как показано ниже
<asp:Button ID="Button1" runat="server" Text="Button"
OnClientClick="return CallServer('arg','');" onclick="Button1_Click" />