مثال از ارتباط Page Method با استفاده از jQuery AJAX در ASP.Net
با سلام jQuery به شما امکان می دهد تا از طریق مشتری و بدون هیچگونه PostBack با متدهای Server Side ارتباط بگیرید. در واقع این ارتباط AJAX به سرور است اما به ما امکان می دهد از server side تعریف شده توسط متد استفاده کنیم. در این مقاله با یک مثال ارتباط Page Method با استفاده از jQuery AJAX در ASP.Net را نشان خواهیم داد .
روش
تصویر زیر روش ارتباط جی کوئری AJAX را شرح می دهد.

کد HTML
کد HTML زیر شامل یک ASP.Net TextBox و یک دکمه HTML است.
<div>
Your Name :
<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
<input id="btnGetTime" type="button" value="Show Current Time"
onclick = "ShowCurrentTime()" />
</div>
اسکریپت Client Side
با کلیک بر روی دکمه ، عملکرد ShowCurrentTime JavaScript انجام می شود که ارتباط AJAX به GetCurrentTime WebMethod را انجام می دهد. مقدار TextBox به عنوان پارامتر به WebMethod منتقل می شود.
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script>
<script type = "text/javascript">
function ShowCurrentTime() {
$.ajax({
type: "POST",
url: "CS.aspx/GetCurrentTime",
data: '{name: "' + $("#<%=txtUserName.ClientID%>")[0].value + '" }',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function(response) {
alert(response.d);
}
});
}
function OnSuccess(response) {
alert(response.d);
}
</script>
WebMethod
WebMethod زیر یک پیام تبریک به همراه زمان سرور جاری را به کاربر باز می گرداند. نکته مهمی که باید توجه داشته باشید اینست که این روش به صورت استاتیک (C #) و به اشتراک گذاشته شده (VB.NET) اعلام شده است و از ویژگی WebMethod استفاده شده است ، این ضروری است در غیر این صورت متد از طرف مشتری جی کوئری AJAX فراخوانی نمی شود.
C #
[System.Web.Services.WebMethod]
public static string GetCurrentTime(string name)
{
return "Hello " + name + Environment.NewLine + "The Current Time is: "
+ DateTime.Now.ToString();
}
VB.Net
<System.Web.Services.WebMethod()> _
Public Shared Function GetCurrentTime(ByVal name As String) As String
Return "Hello " & name & Environment.NewLine & "The Current Time is: " & _
DateTime.Now.ToString()
End Function
عکس صفحه
