Thứ bảy, ngày 3 tháng 12 năm 2016

Gọi 1 hàm từ server side bằng javascript trong ASP.NET

Ngày đăng: 26/3/2011, 22:30:53AM | Lượt xem: 12,386
Hot!

Đây là những câu hỏi mà mình gặp rất nhiều từ mọi người: làm thế nào để gọi 1 phương thức hoặc 1 hàm từ server bằng javascript trong ASP.NET

Tôi xin trả lời câu hỏi này bằng cách sử dụng PageMethods trong ASP.Net AJAX.
ASP.Net AJAX ScriptManager cho phép bạn gọi 1 phương thức từ server trong ASP.NET từ client mà không phải PostBack bằng cách sử dụng PageMethods. Thực ra nó là 1 AJAX gọi đến server nhưng cho phép chúng ta gọi phương thức hoặc hàm định nghĩa trên server.
Enabling PageMethods
Điều đầu tiên bạn cần làm là thêm 1 ASP.Net AJAX ScriptManager vào trang và thiết lập thuộc tính EnablePageMethods là true
<asp:ScriptManagerID="ScriptManager1"runat="server"EnablePageMethods="true">
</asp:ScriptManager>

 HTML Markup

<formid="form1"runat="server">
<asp:ScriptManagerID="ScriptManager1"runat="server"EnablePageMethods="true">
</asp:ScriptManager>
<div>
Your Name :
<asp:TextBoxID="txtUserName"runat="server"></asp:TextBox>
<inputid="btnGetTime"type="button"value="Show Current Time"onclick="ShowCurrentTime()"/>
</div>
</form>

 

Như các bạn thấy ở trên tôi có 1 textbox .Khi người dùng nhập tên vào và 1 HTML button sẽ thực hiên 1 hàm javascript lấy thời gian hiện tại.
Client Side Methods
 
<formid="form1"runat="server">
<asp:ScriptManagerID="ScriptManager1"runat="server"EnablePageMethods="true">
</asp:ScriptManager>
<div>
Your Name :
<asp:TextBoxID="txtUserName"runat="server"></asp:TextBox>
<inputid="btnGetTime"type="button"value="Show Current Time"onclick="ShowCurrentTime()"/>
</div>
</form>
 

 Ở trên phương thức ShowCurrentTime gọi AJAX đến server sử dụng ASP.Net AJAX ScriptManager PageMethods và thực thi phương thức GetCurrentTime .

Server Side Methods
C#
[System.Web.Services.WebMethod]
publicstaticstring GetCurrentTime(string name)
{
return"Hello " + name + Environment.NewLine + "The Current Time is: "
        + DateTime.Now.ToString();
}

 

VB.Net
<System.Web.Services.WebMethod()> _
PublicSharedFunction GetCurrentTime(ByVal name AsString) AsString
Return"Hello "& name & Environment.NewLine &"The Current Time is: "& _
            DateTime.Now.ToString()
EndFunction

 

Điều quan trọng đáng chú ý là phương thức phải được định nghĩa là static (C#) và Shared(VB.Net) và còn định nghĩa như là Web Method . Nếu bạn không làm điều này bạn không thể gọi hàm bằng ASP.Net ScriptManager PageMethods.
Calling Server Side Methods JavaScript and AJAX in ASP.Net

Chúc các bạn thành công.

 Chia sẻ qua: 
Hot!
Ý kiến bạn đọc

These items will be permanently deleted and cannot be recovered. Are you sure?

Gallery

image

Maecenas viverra rutrum pulvinar

Maecenas viverra rutrum pulvinar! Aenean vehicula nulla sit amet metus aliquam et malesuada risus aliquet. Vestibulum rhoncus, dolor sit amet venenatis porta, metus purus sagittis nisl, sodales volutpat elit lorem…

Read more

Text Links

Thiết kế logo chuyên nghiệp Insky
DAFABET
W88 w88b.com/dang-ky-tai-khoan-w88
W88
Copyright © 2011 - 2012 vietshare.vn by phamkhuong102@gmail.com doanhkisi2315@gmail.com. All rights reserved.