This is possible if you provide the correct URL. Check out the following form:
<form id="form1" runat="server">
<div>
<div id="messages">
</div>
<input type="text" id="echo" /><input id="echoSubmit" value="Echo!" type="button"/>
</div>
and corresponding Javascript:
<script type="text/javascript">
$(function () {
$('#echoSubmit').click(function () {
var mes = $('#echo').val();
var jsonText = JSON.stringify({ message: mes });
$.ajax({
type: "POST",
url: "SampleForm.aspx/SendMessage",
data: jsonText,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
$("#messages").append(msg.d);
}
});
});
});
</script>
Clicking the echoSumbit button will send the contents of the input field to WebMethod on another SampleForm.aspx control. Here is the code of this kind:
public partial class SampleForm : System.Web.UI.Page
{
[WebMethod]
public static string SendMessage(string message)
{
return message;
}
}
The click handler in Chat.aspx sends the input value to SampleForm.aspx.cs, which returns the value sent. The return value is added to the div in Chat.aspx in the success method of the .ajax call.