PDA

View Full Version : sử dụng ajax



duongdangquoc
18-12-2008, 10:40
Các pác pro Ajax cho em thọ giáo 1 chút được không? Em đang làm 1 trang như thế này. DataList của em chỉ hiện 2 cột là EmployeeID và EmployeeName. Khi rê chuột vào 1 trong 2 cái đó thì nó hiện chi tiết về Employee đó gồm: EmployeeID, EmployeeName, Image, Decription. Em thấy hiện nay cái này hay sử dụng mà em không biết xài cái nào của Ajax để thiết kế. Em đang sử dụng ASP.NET. Mong các bác giúp đỡ.

whitepenguin
18-12-2008, 15:13
Thường thi` bạn viết riêng 1 webpart cho việc này
Webpart nèy sẽ gồm code lếy dữ liệu của server rồi insert javascript insertscriptblock và chèn các sự kiện vào trong HTML content. thường là chèn <script .... ./> vào ngay header trước khi trả về cho browser, rồi chèn tiếp các javascript code ở trong thư viện đó. chẳng hạn như Mytable=new Mytable(); MyTable.DrawContentTo(document.GetElementById(..)) ; chẵng hạn vệy



Viết Webpart, sau đó viết Webservice và javascript để tiêu thụ webservice nèy(javascript nèy là cái mình dùng trong webpart ở trên đó) , web service nèy sẽ trả ve XML hoặc JSON gì cũng được , sau đó javascript sẽ lếy thông tin trả về rồi kết hợp với HTML và insertElement vào page

Còn không thì javascript từ đầu đến cuối, và webservice.
webservice có tac dung kéo dữ liệu ,javascript thì dùng để nhận nội dung kết hợp HTML và CSS rôi chèn vào trong web browser

Javascript nên viết theo hướng đối tượng.
Tui cũng có viết về trường hợp nèy rồi,
Nó là 1 cai panel nhỏ , người dùng có thể Drag nó bằng chuột khắp mọi nơi trên webpage , có 1 nút để kéo menu , menu phu thuộc vào nội dung database, ví ud5 như database có 5 bẳng dữ liệu. thì nhấn vào menu javascript sẽ lấy 5 bảng bỏ vào menu , 5 bang nèy mỗi bảng có tên và submenu , khi nhấn newitem , javascript lếy từ server nội dung cái Form mình cần điền vào rồi hiện lên màn hình tùy vào vị trí cái panel nó ở đâu, tương tự như view item và delete item, nói chung webservice tham gia ở đây khá nhiều nhắm tạo cho user có cảm giác như họ đang làm việc trên Desktop


tui chỉ giúp được thế thôi ,chứ ko share code vì đây là Company policy, mặc dù tui viết nhưng mà cái nèy thuộc về tài sản của công ty. Tại nó trả tiền cho tui hihihihi

Tui thếy ở đây DDTH họ ít học ASP.NET nhĩ (chắc ghét MS), có mình tui với bạn cô đơn hihihihi

duongdangquoc
19-12-2008, 10:34
Bác làm thế khác nào chơi em. Cám treo heo nhịn đói là đây. Hic!!!
Webpart em chưa làm bao giờ với lại pác giải thích khó hiểu quá.

xvietbac
19-12-2008, 16:53
Có một cách dùng Asp.Net + prototype.js



<td onmouseover="showDetail('<%# Eval("Id") %>')" onmouseout="hideDetail()"><%# Eval("Name") %></td>

hideDetail: $('popupId').hide();
showDetail: $('popupId').show();
new Ajax.Request('detail.aspx',
{
parameters: {emId: id},
onSuccess: function(transport)
{
$('popupId').innerHTML = transport.responseText}}....

Codebind (detail.aspx):

int id = int.Parse(Request.Form["emId"])....

duongdangquoc
20-12-2008, 07:21
Hướng dẫn cụ thể hơn đi bạn. Toàn ... không biết mò thế nào.

[=========> Bổ sung bài viết <=========]

Không bác nào trả lời em sao? Em thấy ở DDTH nhiều topic về ajax lắm mà không ai giúp hết vậy? Còn 1 vấn đề em chưa làm đc là làm sao khi chọn cài link đó thì biết đc cái ID của nó thôi. Nếu không rê chuột thì click cũng đc. Mong giúp đỡ.

DDQ_IT
21-12-2008, 13:34
không ai trả lời bạn hết vậy? Tui chưa học về ajax nên không thể trả lời. Hehe!!!

whitepenguin
22-12-2008, 07:28
Tui chỉ giúp bạn được đến thế thôi , hơn nữa Diễn Đàn nèy nhiều người họ không biết về ASP.NET đâu
Bạn qua bên đêy chuyên về ASP>NET và microsoft product nè, có mếy MVP bên đếy hi vọng họ giúp bạn tí
http://forum.aspvn.net/faq.aspx

duongdangquoc
23-12-2008, 11:57
ủa thế không có ai giúp mình ah? Hic!