使用 PageMethods 从 Javascript 调用 C# 代码隐藏不起作用
Calling C# Code Behind from Javascript using PageMethods doesn't work
我正在尝试使用 PageMethods 在 'Enter key press' 上从我的 javascript 调用我的 C# Web 方法。
ASP:
<input id="new-chat-text-input" type="text" placeholder="Your Message Here..." onkeydown="chatreply(event)">
Javascript:
function chatreply() {
var inputtext = document.getElementById("new-chat-text-input");
var x = event.keyCode;
if (x == 13) {
alert("The process came here"); //Gets triggered successfully
var chatresult= PageMethods.SendChat(inputtext)
alert(chatresult);
}
}
后面的代码:
[WebMethod]
public string SendChat(string input)
{
return "Hey there";
}
基本上是尝试从文本框中获取输入文本,将其发送到代码后面的方法并提醒响应。我基本上得到一个空警报。我做错了什么?
我不太熟悉 PageMethods,但从我快速阅读的内容来看,它在后台执行异步 AJAX 调用时立即 returns。您必须为成功和错误提供回调。成功处理程序应显示结果。
function aichatreply() {
var inputtext = document.getElementById("new-chat-text-input");
var x = event.keyCode;
if (x == 13) {
alert("The process came here"); //Gets triggered successfully
PageMethods.SendChat(inputtext, onSuccess, onFailure);
//This line will execute immediately, not waiting for SendChat to finish
}
}
function onSuccess(result) {
alert(result);
}
function onFailure(result) {
alert("Failed!");
}
我正在尝试使用 PageMethods 在 'Enter key press' 上从我的 javascript 调用我的 C# Web 方法。
ASP:
<input id="new-chat-text-input" type="text" placeholder="Your Message Here..." onkeydown="chatreply(event)">
Javascript:
function chatreply() {
var inputtext = document.getElementById("new-chat-text-input");
var x = event.keyCode;
if (x == 13) {
alert("The process came here"); //Gets triggered successfully
var chatresult= PageMethods.SendChat(inputtext)
alert(chatresult);
}
}
后面的代码:
[WebMethod]
public string SendChat(string input)
{
return "Hey there";
}
基本上是尝试从文本框中获取输入文本,将其发送到代码后面的方法并提醒响应。我基本上得到一个空警报。我做错了什么?
我不太熟悉 PageMethods,但从我快速阅读的内容来看,它在后台执行异步 AJAX 调用时立即 returns。您必须为成功和错误提供回调。成功处理程序应显示结果。
function aichatreply() {
var inputtext = document.getElementById("new-chat-text-input");
var x = event.keyCode;
if (x == 13) {
alert("The process came here"); //Gets triggered successfully
PageMethods.SendChat(inputtext, onSuccess, onFailure);
//This line will execute immediately, not waiting for SendChat to finish
}
}
function onSuccess(result) {
alert(result);
}
function onFailure(result) {
alert("Failed!");
}