Để có thể thực hoàn thành bài tiểu luận đúng tiến độ và cơ bản đạt được các yêu cầu đề ra, ngoài sự nỗ lực nghiên cứu của các thành viên trong nhóm, sự hướng dẫn tận tình của giáo viên h
Trang 1Lời đầu tiên chúng em xin bày tỏ lòng biết ơn sâu sắc đến thầy Phùng
Quang Ngọc người trực tiếp hướng dẫn, chỉ bảo, giúp chúng em tháo gỡ những
vấn đề khó khăn trong suốt quá trình thực hiện tiểu luận.
Để có thể thực hoàn thành bài tiểu luận đúng tiến độ và cơ bản đạt được các yêu cầu đề ra, ngoài sự nỗ lực nghiên cứu của các thành viên trong nhóm, sự hướng dẫn tận tình của giáo viên hướng dẫn, nhóm em đã nhận được sự chỉ dạy nhiệt tình của quý thầy cô trường Đại học Sư Phạm Kỹ thuật TP.Hồ Chí Minh và
sự góp ý của các bạn trong lớp.
Chúng em xin gửi lời cảm ơn chân thành đến tất cả quý thầy cô trường Đại học Sư Phạm Kỹ thuật TP.Hồ Chí Minh, quý thầy cô khoa Công Nghệ Thông Tin đã tận tình chỉ dạy và rèn luyện cho chúng em kiến thức cũng như kỹ năng quý báu.
Chúng em xin gửi lời cám ơn đến tất cả các bạn đã giúp đỡ nhóm trong suốt quá trình thực hiện tiểu luận cũng như trong môn học khác.
Vì thời gian có hạn và khối lượng công việc tương đối lớn nên bài tiểu luận không thể tránh khỏi những thiếu sót Kính mong sự đóng góp ý kiến của quý thầy
cô cùng các bạn.
Chúng tôi chân thành gửi lời cám ơn sâu sắc đến Thầy và các bạn!
Tp.HCM, tháng 12 năm 2011
Trần Thị Thủy Dương Thị Thu Vân
Trang 2
Ngày Tháng Năm
Giảng Viên Hướng Dẫn
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
Ngày Tháng Năm
Giảng Viên Phản Biện
Trang 4MỤC LỤC
1 Contents
LỜI CẢM ƠN 1
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN 1
NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN 2
MỞ ĐẦU 4
1.1 Tính cấp thiết của đề tài 5
1.2 Mục tiêu của đề tài 6
1.3 Giới hạn của đề tài 6
Phụ lục: Hướng dẫn cài đặt, sử dụng 7
NỘI DUNG 9
CHƯƠNG 1: TỔNG QUAN MẠNG XÃ HỘI 9
1.1 TỔNG QUAN MẠNG XÃ HỘI 9
1.2 KHẢO SÁT CÁC WEBSITE MẠNG XÃ HỘI NỔI TIẾNG 11
1.3 KHẢO SÁT CÁC WEBSITE MẠNG XÃ HỘI VIỆT NAM 13
1.4 KHẢO SÁT CÁC WEBSITE MẠNG XÃ HỘI SINH VIÊN 16
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 19
2.1 LINQ TO SQL 19
2.2 AJAX 25
2.3 WEB SERVICE 40
CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ VÀ CÀI ĐẶT 43
3.1 Accounts 44
Trang 53.4 Friend 68
3.5 Message 76
3.6 Forums 89
3.7 Groups 100
CHƯƠNG 4: CÀI ĐẶT 111
PHẦN 3: KẾT LUẬN 120
Danh mục Bảng sử dụng: Bảng 1: So sánh Database Object và LINQ Object 24
Bảng 2: Mô tả cơ sở dữ liệu của modun Accounts 55
Bảng 3: Mô tả cơ sở dữ liệu của modun Profile 63
Bảng 4: Mô tả cơ sở dữ liệu của Alert 65
Bảng 5: Mô tả cơ sở dữ liệu của modun Comment 70
Bảng 6: Mô tả cơ sở dữ liệu của modun Friend 78
Bảng 7: Mô tả cơ sở dữ liệu của modun Message 86
Bảng 8: Mô tả cơ sở dữ liệu của modun Forum 102
Bảng 9: Mô tả cơ sở dữ liệu của modun Group 112
Danh mục Hình ảnh:
Trang 6MỞ ĐẦU
Thông thường trong trường Đại học Sư phạm kỹ thuật TP.HCM, thì sinh viênthường trao đổi thông tin tài liệu thông qua một hay nhiều forum, mỗi forum có thểđược thành lập từ những tập thể của trường có thể hoạt động riêng rẻ không đồng bộ
và không mang tính xã hội cao Nhưng thực tế cho thấy forum không đáp ứng đủnhu cầu chia sẻ, giải trí, trao đổi và nhất là mức độ thân thiện giữa các thành viên vớinhau như mạng xã hội được Tương tự như hình thức forum bây giờ, nhưng nếu nhàtrường có thể xây dựng một mạng xã hội của riêng trường, và quản lý nó, địnhhướng sinh viên trong trường sinh hoạt trong mạng đó và sử dụng nó vào mục đíchhọc tập, trao đổi, kết bạn, giải trí Một mạng xã hội theo đúng nghĩa của người Việt.Với các yêu cầu thực tiễn như sau:
o Tạo một môi trường liên kết thân thiện giữa các sinh viên của trường:bằng việc kết bạn, giao lưu, tham gia hội nhóm môn học, sở thích, thuộccùng một khoa hay giữa các khoa các nghành khác nhau Và có thể tạokhoảng cách gần gủi hơn giữa những sinh viên và giảng viên, khôngcòn gò bó về khoảng cách
o Mỗi sinh viên sẽ có một không gian chia sẻ riêng biệt cho riêng mình:
Họ có thể tự thiết kế trình bày trang của mình một cách tuỳ thích bằngcác theme có sẳn, hay có thể gửi mail, trao đổi, chat trực tuyến vớinhững người bạn của mình, và cũng có thể upload chia sẻ những hìnhảnh ngộ nghĩnh, những video lý thú của mình cho mọi người
o Còn là nơi mà các sinh viên của trường có thể liên hệ, kết bạn vớinhững cựu sinh viên đã ra trường, người sẽ chia sẻ những kinh nghiệmtrong công việc, đời sống mà họ đã đích thân trải nghiệm Điều đó rất
dể dàng đối với một mạng xã hội, vượt ngoài giới hạn về địa lý và thờigian Đó cũng là cơ hội cho những tân sinh viên của trường có thể dễ
Trang 7dàng tiếp nhận cách học và cách sinh hoạt trong môi trường mới mẽnày.
o Nơi mà những sinh viên có thể sớm tiếp cận với những nhà tuyển dụngtrong tương lai, và học hỏi rất nhiều từ các yêu cầu chuyên môn haynhững kỹ năng cần thiết cho công việc sau này.Tại đây họ có thể traođổi thông tin một cách gần gủi, nhẹ nhàng, không mang nặng tâm lýnhư những cuộc điện thoại hay gặp mặt lần đầu tiên
o Là nơi mà các bạn tình nguyện viên có thể kiêu gọi sự ủng hộ của mọingười thông qua các cuộc vận động đậy ý nghĩa: chiến dịch mùa hèxanh, tình nguyện viên trong mùa thi đại học, hay đền ơn đáp nghĩa…,
sẽ thật dễ dàng nếu lời kêu gọi đó được truyền đi một cách nhanh chóngtrên các danh sách bạn bè của họ
o Một một sân chơi lành mạnh, hấp dẫn đối với sinh viên: Thông qua một
số cuộc hội thảo online tự quyền về các chủ đề môn học, hay việc làm,
và các trò chơi trực tuyến thú vị
o Là nơi mà sinh viên có thể đóng góp ý kiến của mình đối với các hiệntrạng xã hội hiện nay, những vấn đề cộng đồng thông qua các bài xãluận, hay những bức xúc của sinh viên đối với trường học một cách tự
do đúng đắn
o Còn là nơi mà người thân của các sinh viên có thể gắn kết hơn, nhất lànhững sinh viên phải sống xa nhà, đó như là một lời nhắn nhủ của giađình đối với con em mình
1.1 Tính cấp thiết của đề tài
- Trường đại học Sư phạm Kỹ Thuật TP.HCM có nhiều khoa, ngành khácnhau Mổi khoa gồm nhiều khóa Sinh viên thì không có nhiều cơ hội để giaolưu học hỏi kinh nghiệm lẩn nhau Hầu như mỗi khoa đều có một diển đànnhưng sự chia sẻ còn gặp hạn chế Các diễn đàn không có những tính năng
Trang 8chia sẻ nhanh và rộng như mạng xã hội Giữa sinh viên các ngành khác nhaucũng ít có mối quan hệ do không có môi trường tiếp xúc Họ có những mongmuốn được giao lưu kết bạn với nhau thông qua một kênh liên lạc nào đó
- Còn đối với nhà trường cũng mong muốn có một website có thể đăngtải nhanh thông tin đến sinh viên Cập nhật các thông tin mà sinh viên cần mộtcách nhanh chóng
- Từ những lợi ích của một website mạng xã hội đã kể trên và những nhucầu cần thiết của sinh viên trong trường Chúng tôi đã chọn đề tài: Xây dựngwebsite Mạng xã hội sinh viên trường ĐH SƯ PHẠM KỸ THUẬT TP.HCM
để xây dựng một trang mạng xã hội riêng cho trường đại học SPKT TP.HCM
1.2 Mục tiêu của đề tài
- Tìm hiểu mạng xã hội và đặc điểm của mạng xã hội Khảo sát cácwebsite mạng xã hội trong và ngoài nước
- Tìm hiểu và ứng dụng được các công nghệ Linq to Sql, Ajax,WebService vào đề tài
- Xây dựng website mạng xã hội sinh viên ĐH Sư phạm kỹ thuậtTP.HCM trở thành kênh liên lạc thường xuyên của sinh viên Đáp ứng đượcnhu cầu kết bạn, giao lưu, cập nhật tin tức bạn bè của sinh viên…
- Xây dựng các Group và Forum để website mạng xã hội sinh viên ĐH
Sư Phạm Kỹ Thuật TP.HCM trở thành nơi cập nhật tin tức trường, lớp củasinh viên Sinh viên luôn luôn theo dõi được hoạt động của Forum và Group
mà mình tham gia Đồng thời sinh viên có thể viết bài, chia sẻ trên Forum Tạomôi trường giao lưu học hỏi tốt nhất
1.3 Giới hạn của đề tài
Trường ĐH Sư Phạm Kỹ Thuật TP.HCM
Trang 9Nội dung đề tài bao gồm 3 phần:
Chương 1: Tổng quan Mạng Xã Hội
1.1 Tổng quan Mạng Xã Hội
1.2 Khảo sát các website mạng xã hội nổi tiếng
1.3 Khảo sát các website mạng xã hội Việt Nam
1.4 Khảo sát các website mạng xã hội của Sinh Viên
Chương 2: Cơ sở lý thuyết
Trang 11NỘI DUNG
CHƯƠNG 1: TỔNG QUAN MẠNG XÃ HỘI 1.1 TỔNG QUAN MẠNG XÃ HỘI
1.1.1 Khái niệm
nối kết các thành viên cùng sở thích trên Internet lại với nhau với nhiều mục đíchkhác nhau không phân biệt không gian và thời gian
sẻ file, blog và xã luận Mạng đổi mới hoàn toàn cách cư dân mạng liên kết vớinhau và trở thành một phần tất yếu của mỗi ngày cho hàng trăm triệu thành viênkhắp thế giới Các dịch vụ này có nhiều phương cách để các thành viên tìm kiếmbạn bè, đối tác: dựa theo group (ví dụ như tên trường hoặc tên thành phố), dựatrên thông tin cá nhân (như địa chỉ e-mail hoặc screen name), hoặc dựa trên sởthích cá nhân (như thể thao, phim ảnh, sách báo, hoặc ca nhạc), lĩnh vực quan tâm:kinh doanh, mua bán
Facebook nổi tiếng nhất trong thị trường Bắc Mỹ và Tây Âu; Orkut và Hi5 tạiNam Mỹ; Friendster tại Châu Á và các đảo quốc Thái Bình Dương Mạng xã hộikhác gặt hái được thành công đáng kể theo vùng miền như Bebo tại Anh Quốc,CyWorld tại Hàn Quốc, Mixi tại Nhật Bản và Yahoo! 360 tại Việt Nam
1.1.2 Lịch sử
Classmate với mục đích kết nối bạn học, tiếp theo là sự xuất hiện của SixDegreesvào năm 1997 với mục đích kết bạn tùy theo sở thích
Trang 12 Năm 2002, Friendster trở thành một trào lưu mới tại Hoa Kỳ với hàng triệuthành viên ghi danh Tuy nhiên sự phát triển quá nhanh này cũng là con dao hailưỡi: server của Friendster thường bị quá tải mỗi ngày, gây bất bình cho rất nhiềuthành viên.
và nhanh chóng thu hút hàng chục ngàn thành viên mới mỗi ngày, các thành viên
cũ của Friendster cũng lũ lượt chuyển qua MySpace và trong vòng một năm,MySpace trở thành mạng xã hội đầu tiên có nhiều lượt xem hơn cả Google vàđược tập đoàn News Corporation mua lại với giá 580 triệu USD
mạng xã hội trực tuyến với nền tảng lập trình "Facebook Platform" cho phépthành viên tạo ra những công cụ (apps) mới cho cá nhân mình cũng như các thànhviên khác dùng Facebook Platform nhanh chóng gặt hái được thành công vượcbực, mang lại hàng trăm tính năng mới cho Facebook và đóng góp không nhỏ chocon số trung bình 19 phút mà các thành viên bỏ ra trên trang này mỗi ngày
1.1.4 Mục tiêu
Tạo ra một hệ thống trên nền Internet cho phép người dùng giao lưu và chia sẻthông tin một cách có hiệu quả, vượt ra ngoài những giới hạn về địa lý và thờigian
Trang 13 Xây dựng lên một mẫu định danh trực tuyến nhằm phục vụ những yêu cầucông cộng chung và những giá trị của cộng đồng.
Nâng cao vai trò của mỗi công dân trong việc tạo lập quan hệ và tự tổ chứcxoay quanh những mối quan tâm chung trong những cộng đồng thúc đẩy sự liênkết các tổ chức xã hội
1.2 KHẢO SÁT CÁC WEBSITE MẠNG XÃ HỘI NỔI TIẾNG
1.2.1 Facebook
Là một website mạng xã hội truy cập miễn phí do công ty Facebook, Inc điềuhành và sở hữu tư nhân Người dùng có thể tham gia các mạng lưới được tổ chứctheo thành phố, nơi làm việc, trường học và khu vực để liên kết và giao tiếp vớingười khác Mọi người cũng có thể kết bạn và gửi tin nhắn cho họ, và cập nhậttrang hồ sơ cá nhân của mình để thông báo cho bạn bè biết về chúng
Một trong những ứng dụng phổ biến nhất trên Facebook là ứng dụng Hình ảnh(Photos), nơi thành viên có thể upload album và hình ảnh Facebook cho phépngười dùng tải lên không giới hạn số hình ảnh, so với các dịch vụ lưu trữ hình ảnhkhác như Photobucket và Flickr, trong đó áp dụng giới hạn số lượng các bức ảnh
mà người dùng được phép tải lên Trong những năm đầu tiên, người dùngFacebook được giới hạn đến 60 hình ảnh cho mỗi album Tính đến tháng 5 năm
2009, giới hạn này đã được tăng lên đến 200 bức ảnh mỗi album
Các thiết lập bảo mật có thể được đặt cho các album cá nhân, hạn chế cácnhóm người sử dụng có thể xem một album Ví dụ, tính riêng tư của một album cóthể được thiết lập để chỉ những bạn bè của thành viên có thể xem album, trong khitính riêng tư của album khác có thể được thiết lập để tất cả người dùng Facebook
có thể nhìn thấy nó Một tính năng của ứng dụng hình ảnh là khả năng "tag", hayđánh nhãn một thành viên trong một bức ảnh Ví dụ, nếu một bức ảnh có mộtngười bạn của thành viên, sau đó thành viên này có thể "tag" người bạn trong bức
Trang 14ảnh Điều này sẽ gửi một thông báo cho người bạn rằng họ đã được gắn thẻ, vàcung cấp cho họ một liên kết để xem bức ảnh.
1.2.2 Myspace
Là một trang mạng xã hội nổi tiếng, cung cấp một mạng lưới thông tin tươngtức giữa người dùng với bạn bè của họ, cho phép người dùng tạo những hồ sơ cánhân, viết blog, lập nhóm, tải hình ảnh lên, lưu trữ nhạc và video cho giới trẻ cũngnhư người lớn trên khắp thế giới Trụ sở của nó đặt tại Beverly Hills, California,Hoa Kỳ, được chia sẻ cùng với công ty Fox Interactive Media Từ tháng 6 năm
2006, MySpace đã trở thành mạng xã hội ảo lớn nhất Hoa kỳ
1.2.3 Twitter
Là dịch vụ mạng xã hội miễn phí cho phép người sử dụng đọc, nhắn và cậpnhật các mẩu tin nhỏ gọi là tweet, một dạng tiểu blog Những mẩu tweet được giớihạn tối đa 140 ký tự được lan truyền nhanh chóng trong phạm vi nhóm bạn củangười nhắn hoặc có thể được trưng rộng rãi cho mọi người Thành lập từ năm
2006, Twitter đã trở thành một hiện tượng phố biến toàn cầu Những tweet có thểchỉ là dòng tin vặt cá nhân cho đến những cập nhật thời sự tại chỗ kịp thời vànhanh chóng hơn cả truyền thông chính thống
Giới hạn về độ dài của tin nhắn, 140 kí tự, có tính tương thích với tin SMS(Short Message Service), mang đến cho cộng đồng mạng một hình thức tốc kýđáng chú ý, đã được sử dụng rộng rãi đối với SMS Giới hạn về ký tự cũng giúpthúc đẩy các dịch vụ thu gọn địa chỉ website như tinyurl, bit.ly và tr.im, hoặc cácdịch vụ nội dung tên miền như là Twitpic và NotePub nhằm thu thập các thông tin
đa phương tiện và những đoạn dài hơn 140 ký tự
Trang 151.3 KHẢO SÁT CÁC WEBSITE MẠNG XÃ HỘI VIỆT NAM
1.3.1 Zing Me
Một trong những mạng xã hội nổi tiếng của Việt Nam là Zing Zing phục vụ
đủ mọi nhu cầu của khách hàng từ đọc tin tức, diễn đàn,chơi game, nghe nhạc,xem phim trực tuyến đến đăng hình những thànhviên mạng xinh đẹp Trong hainăm qua kể từ ngày mạng xã hội Việt Nam ra đời ồ ạt, thì trường hợp của Zingcũng là một thành công đáng nể phục vì giờ đây Zing là trang web có số lượngngười truy cập cao nhất, vượt trên cả những trang web lâu đời và có truyền thốngnhư Vnexpress,Dân Trí hoặc Vietnamnet (theo thống kê của Alexa)
Sản phẩm của Zing chủ yếu là : nhanh nhất, giật gân nhất và phục vụ đúng mộtmục đích chung: thỏa mãn sự hiếu kỳ của khách hàng Lượng người truy cậptăng,số lượng thành viên tăng và quảng cáo cũng tăng lên nhanh chóng
1.3.2 Clip.vn
Tháng 02 năm 2007, khi công bố phiên bản chạy thử nghiệm, nhiều cácbáo đưa tin bài, số lượng người truy cập lên mức kỷ lục (ngày đầu ra mắt websitenày đã đón nhận hơn 200.000 lượt người truy cập và vào những lúc cao điểm cótới hơn 50.000 người truy cập website cùng một lúc), khiến website này đã bị quátải và bị người dùng phàn nàn
Tới ngày 30 tháng 05 năm 2007, Website Clip.vn chính thức công bốphiên bản Beta 2, phiên bản này có nhiều cải tiến về cả tính năng cũng như giaodiện của trang web
Vào tháng 11 năm 2007 website Clip.vn thay đổi giao diện website rộng hơn, vàtương tác với các nội dung của website tốt hơnWebsite của clip hiện đang làwebsite lớn nhất Việt Nam trong lĩnh vực chia sẻ video trực tuyến, vừa quawebsite này công bố số lượng thành viên của họ đã lên tới hơn 230.000 thànhviên, và 200 ngàn tập tin video
Trang 16 Giao diện Clip.vn được xây dựng theo định hướng Web Standard:XHTML 1.0, CSS 2.0, tương thích với nhiều trình duyệt, cho phép thay đổi kích
cỡ font chữ trên IE6 cùng hỗ trợ đa ngôn ngữ (tiếng Việt, tiếng Anh và tiếng Nhậtđang được phát triển) và hỗ trợ Media RSS giúp người sử dụng dễ dàng làm sửdụng các công cụ trên giao diện mới, với chức năng tìm kiếm được nhà cung cấpcải thiện đáng kể Ngoài việc người sử dụng cũng có thể xem video tiện lợi hơn nócòn hỗ trợ việc sắp xếp theo chuyên mục, bookmark thông tin theo dạng giốngdel.icio.us hay Google Bookmark
Các video truyền lên clip.vn thông qua trình duyệt, tất cả sẽ được chuyển qua địnhdạng video dựa trên công nghệ Adobe Flash với dung lượng tối đa của tập tintruyền lên hiện tại là 150 MB
Các chức năng chính của clip.vn:
- Bạn có thể đăng tải và chia sẻ những video hay
- Bạn có thể tìm kiếm các Video đã được đăng tải bởi các thành viên
- Sở hữu một trang cá nhân trên Clip.vn dưới dạng một MyTV
- Tham gia và thiết lập các nhóm những người sử dụng có cùng sở thích
- Hiển thị các đoạn video vào website, blog cá nhân của bạn bằng việc sử dụngtính năng nhúng đoạn "Mã để chèn vào blog/web" mà clip.vn cung cấp ứng vớimỗi đoạn clip được đăng tải
- Người sử dụng có quyền chọn chia sẻ cộng đồng hoặc riêng tư
- Có quyền comment
1.3.3 Zoon.vn
Công ty Đầu tư và Phát triển CNTT Intecom (VTC Intecom) đã cho ra mắtmạng xã hội ảo: zooz.vn vào cuối tháng 2/2008
Zooz có nhiều khác biệt với các mạng xã hội Việt ở chỗ không chỉ là mạng xã
hội đơn thuần mà là một môi trường game online Zooz sẽ tích hợp tất cả các tính
Trang 17năng mà các mạng khác chưa có Ví dụ, các mạng xã hội Việt chủ yếu tập trungphát triển blog thì Zooz sẽ tích hợp nhiều tiện ích của đời sống thật trong ngôi nhàcủa cộng đồng ảo.
Zooz là một sân chơi để giới trẻ tự sáng tạo, tự phát triển các ý tưởng củamình Zooz.vn có thư viện ảo, blog, video, âm nhạc và mua bán các sản phẩm sốqua mạng (Mobile Shop) Cư dân của Thành phố Zooz tự sáng tạo các bản nhạcchuông, hình ảnh, thiết kế những hình ảnh cầu kỳ, giới thiệu các đoạn clip tự đạodiễn, nếu những cư dân khác muốn sở hữu những sản phẩm này sẽ phải trả tiềncho chủ nhân
Khu Thương mại của Thành phố Zooz Đây là một trung tâm giống như đờithực với các khu siêu thị, triển lãm, khu mua bán đồ giảm giá, xem phim… Tạicác khu thương mại này, cư dân mạng có thể đặt gian hàng giới thiệu, mua báncác sản phẩm VTC phối hợp với Rạp chiếu phim MegaStar bán vé xem phim, cưdân mạng có thể vào xem các phim sắp chiếu, lịch chiếu phim trên mạng rồi đặtmua vé bằng Vcoin Sau đó, máy di động của người mua được cấp một mã vé, khixem phim người này chỉ cần ra rạp đọc mã số đó là lấy được vé vào rạp
Zooz được xem là có lợi thế lớn bởi VTC hiện đang có một cộng đồng hơn 5triệu người chơi 3 game trực tuyến do VTC Game phát hành Cộng đồng ảo có thể
sử dụng luôn đồng tiền Vcoin của Hệ thống thanh toán VTC Paygate trao đổi muabán các sản phẩm số Thêm vào đó, tận dụng thế mạnh của Đài Truyền hình Kỹthuật số VTC, Zooz sẽ tổ chức các sự kiện tôn vinh sự sáng tạo của cư dân mạng,
tổ chức các sự kiện, các hoạt động offline trên truyền hình
Zooz còn hỗ trợ các cư dân mạng “thể hiện” mình trong ngôi nhà ảo của họ.Ông Tuấn cho biết, VTC dự kiến sẽ liên kết với các hãng có tên tuổi như hãng xeHonda, Piagio, nhà hàng KFC giảm giá cho các thành viên khi mua sản phẩm củacác hãng này, đồng thời cư dân nào có sản phẩm như ô tô, xe máy, máy tính, điệnthoại… trong đời sống thật sẽ được cấp sản phẩm tương tự trong đời sống ảo
Trang 18 Ngoài ra, từ Zooz cũng có thể gửi tin nhắn tới hầu hết các máy di động trên thếgiới qua mạng 8030, hệ thống còn tự động gửi thông báo về comment mới trênblog VTC cũng không đặt quá nặng về bài toán kinh doanh mà muốn tạo ra mộtsân chơi giá trị gia tăng để cộng đồng game xích lại gần nhau hơn, trao đổi vàsáng tạo các ý tưởng mới theo chiều hướng tích cực.
1.4 KHẢO SÁT CÁC WEBSITE MẠNG XÃ HỘI SINH VIÊN
Có nhiều loại mạng xã hội được thành lập mà mục đích của nó là phục vụ tới từngsinh viên của từng chuyên ngành, và ngày càng có nhiều mạng xã hội ảo mới thànhlập Dưới đây là 10 mạng xã hội ảo quy tụ động đảo số lượng người dùng có thểhữu ích cho việc học tập của bạn trên giảng đường đại học
1.4.1 Cramster
Bất cứ khi nào bạn có vấn đề với toán học, cần lời giải cho câu hỏi trong sách,cần sự giúp đỡ hoặc tìm kiếm nguồn để học hỏi, Cramster là “xã hội” thích hợpdành cho bạn
Bảng Hỏi đáp (Questions & Answers) rất rộng và nó đầy đủ những thông tin
mà chúng ta mong muốn, bạn có thể nhận được sự giúp đỡ từ những câu hỏi củamình 24 /24 giờ Người dùng có thể gia tăng “ điểm Karma” bằng cách trả lời cáccâu hỏi và có thể ta sẽ được thưởng
Một chức năng tuyệt vời nữa được tìm thấy ở phần luyện tập, nơi bạn có thểtạo riêng phần Quiz (trắc nghiệm) của riêng mình (dĩ nhiên, bạn sẽ tạo 1 tài khoảnmiễn phí trước) Bạn có thể tạo chủ đề, nôi dung, số lượng câu hỏi và độ khó khácnhau để tự mình kiểm tra kiến thức toán học của bản thân
Trang web là 1 nguồn tài nguyên rộng lớn và dễ dàng tìm hiểu Bạn có thểnâng cấp lên tài khoản premium, có thêm nhiều tính năng với 9,95 USD/tháng.Thành viên Premium có thể hỏi nhiều câu hỏi hơn, có câu trả lời nhanh hơn, vàđươc phép vào tất cả các câu hỏi trong textbook Cramster còn cung cấp ứng dụng
Trang 19dành cho Facebook, mang tên Courses 2.0 (giúp bạn mở những khóa học để có thểthấy những người bạn Facebook sẽ ở lớp do mình quản lý Vì thế mà bạn có thểtìm những người có cùng sở thích toán học hoặc để chia sẻ và mua lại nhữngquyển sach cũ khi họ đã dùng xong.
Người dùng có thể điền vào 1 bản lý lịch nhanh, ngắn gọn để đánh giá các khíacạnh của họ bao gồm cấp bậc kinh nghiệm thưc tế, sự bù đắp, những mạng lưới cơhội và nhiều thứ nữa Người dùng có thể comment để mô tả kinh nghiệm củamình Trang web là 1 cách thức tuyệt để thu thập thêm những kiến thức thực tế vềcông việc dành cho bạn
1.4.3 Twitter
Twitter cho phép bạn kết nối với mọi người trên khắp thế giới Bạn có thể sửdụng Twitter để cập nhật tin tức, chiều hướng xã hội và ý kiến từ nhiều nguồnthông tin khác nhau, chia sẻ những nội dung hoặc ý tưởng để tìm người cùng pháttriển nó Và đối với những sinh viên mong muốn tìm kiếm những công việc hay ýtưởng cho việc học tập của mình thì Twitter là sự lựa chọn số 1
1.4.4 Remember the Milk
Vạch trước những hoạt động bạn sẽ làm trong ngày có thể sẽ hữu ích khi bạnđang còn ngồi trên ghế giảng đường Remember the Milk là lựa chọn thích hợp đểquản lý lịch làm việc hàng ngày của bạn
Trang 20 Sử dụng Remember the Milk là rất đơn giản, sau khi đăng ký cho mình 1 tàikhoản miễn phí, bạn chỉ việc nhấn vào Add Task và chọn tiêu đề, ngày, giờ, địađiểm và nội dung hoạt động… Dịch vụ còn cung cấp cho bạn biết bạn đã bỏ rabao nhiêu thời gian trong ngày để làm việc hoặc nghỉ ngơi, để từ đó bạn có thểquản lý thời gian mình được tốt hơn
Remember the Milk còn có thể đồng bộ hóa với Google Calender, Twitter,BlackBerry và một vài dịch vụ khác Nếu bạn không có máy tính kết nối Internet,bạn vẫn có thể sử dụng dụng Remember the Milk nhưng máy tính cần phải có càiđặt plugin Google Gears cho trình duyệt
1.4.5 Gradefund
Bạn ước có thể kiếm được tiền từ điểm số cao của mình? Chào mừng đến vớiGradefund, nơi mà các “nhà tài trợ” sẽ trả tiền cho sinh viên nếu học tích lũy đượcnhiều điểm tốt Chỉ cần tạo 1 tài khoản, tìm kiếm cho mình 1 hoặc nhiều “nhà tàitrợ”, upload bản điểm cuối mỗi học kỳ và một khi Gradefund xác nhận nó, bạn sẽnhận được tiền
Nhà tài trợ có thể gửi tiền đến sinh viên, trường học Nếu gửi tiền đến sinhviên, bạn có thể chọn để gửi tiền trực tiếp hoặc thông qua việc trừ vào học phíphải đóng
1.4.6 CampusBooks
Sách là nguồn tư liệu vô giá đối với sinh viên, đến với CampusBooks, bạn cóthể tham gia vào xã hội của những người yêu sách, có thể tìm kiếm, chia sẽ và đặtmua những quyển sách phục vụ cho việc học tập
Khi bạn tìm kiếm 1 quyển sách, CampusBooks sẽ tìm quyển sách bạn cần trênnhững trang web khác như Amazon hay Biblio…, có thể là sách mới hoặc đã sửdụng qua, với giá thành thích hợp nhất dành cho sinh viên Nếu vẫn không tìm
Trang 21được sách với giá bạn mong muốn, bạn có thể thiết lập bao giá và sẽ nhận đượcemail trong trường hợp CampusBooks tìm ra nó.
Trên đây là những mạng xã hội ảo, có thể giúp bạn giải trí sau những giờ họchành căng thằng, nhưng cũng giúp bạn tìm kiếm thêm những người bạn mới,nhưng thông tin bổ ích cho quá trình học tập và làm việc sau này Đặc biệt, đối vớisinh viên Việt Nam, những mạng xã hội ảo như thế này là cơ hội tuyệt vời để traudồi thêm vốn kỹ năng tiếng Anh của mình
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 LINQ TO SQL
2.1.1 Giới thiệu:
Linq là một trong những công nghệ mới của NET 3.5
LINQ to SQL là một phiên bản hiện thực hóa của O/RM (object relational mapping)
có bên trong NET Framework bản “Orcas” (nay là NET 3.5), nó cho phép ngườidùng mô hình hóa một cơ sở dữ liệu dùng các lớp NET Sau đó người dùng có thểtruy vấn cơ sở dữ liệu (CSDL) dùng LINQ, cũng như cập nhật/thêm/xóa dữ liệu từđó
LINQ to SQL hỗ trợ đầy đủ transaction, view và các stored procedure (SP) Nó cũngcung cấp một cách dễ dàng để thêm khả năng kiểm tra tính hợp lệ của dữ liệu và cácquy tắc vào trong mô hình dữ liệu
2.1.2 Mô hình hóa cơ sở dữ liệu dùng Linq To Sql
Visual studio đã tích hợp thêm một trình thiết kế Linq To Sql như là một công cụ dễdàng cho việc mô hình hóa một cách trực quan cơ sở dữ liệu Project chọn New itemvào Data chọn Linq To Sql Classes và đặt lại tên cho lớp DataContext
Trang 22Hình 2.1.2.a Tạo mô hình dữ liệu Linq To Sql
Khi chọn “Linq To Sql Classes” sẽ khởi chạy Linq To Sql designer cho phép chúng ta
mô hình hóa một cơ sở dữ liệu quan hệ Đồng thời cũng tạo ra một lớp
“DataContext”, Trong đó có các thuộc tính để biểu diễn mỗi bảng mà chúng ta môhình hóa cơ sở dữ liệu, cũng như các phương thức cho mỗi Store Procedure mà chúng
ta mô hình hóa
Vào Project chọn file dbml ta có giao diện thiết kế của Linq To Sql
Trang 23Hình 2.1.2 b Cửa sổ thiết kế Linq To Sql Trong Visual Studio
Kéo các lớp tương ứng từ cơ sở dữ liệu quan hệ vào trình thiết kế
Hình 2.1.2 c Cửa sổ thiết kế sau khi thêm các bảng dữ liệu
Trang 24Mô hình Linq To Sql ở trên định nghĩa sáu lớp thực thể: Account, AccountFile,AccountFolder, AccountPermission, Profile, ProfileAtribute, ProfileAtributeType.Các thuộc tính của mỗi lớp ánh xạ vào các cột của bảng tương ứng trong cơ sở dữliệu Mỗi intance của một lớp biểu diễn một dòng trong bảng dữ liệu Các mũi têngiữa các thực thể biểu diễn quan hệ giữa các thực thể với nhau Chúng được tạo radựa trên các mối quan hệ khóa chính, khóa ngoại trong cơ sở dữ liệu.
2.1.3 Entity Class
Bằng cách ánh xạ một bảng trong cơ sở dữ liệu thành một lớp, ta có thể thao tác dữliệu trên đó bằng mã lệnh lập trình Các lớp được ánh xạ này được gọi là các lớpentity Như vậy, một lớp được sẽ được ánh xạ đến một bảng, theo đó một property sẽđược dùng để ánh xạ cho column của bảng.Việc ánh xạ này được gọi là ORM (object-relational mapping) chính là đặc điểm cơ bản của LINQ to SQL
Việc ánh xạ này trong NET được áp dụng bằng cách đặt các attribute cho class,property, method, … kĩ thuật này được gọi là Attribute-based Mapping.Bảng sau đâycho thấy các ánh xạ tương ứng của các đối tượng database vào các đối tượng lậptrình:
Bảng 1: So sánh Database Object và LINQ Object
Trang 252.1.4 Lớp DataContext
Lớp DataContext được dùng để thiết lập kết nối với database, đối tượng này còn quản
lý một các định danh của đối tượng, theo dõi các thay đổi và thực hiện “phiên dịch”các thao tác mà chúng ta thực hiện trên đối tượng entity thành các câu SQL tươngứng để thực thi trên database
Có thể coi DataContext là một đối tượng đại diện cho toàn bộ database tương tự nhưDataSet, nhưng được kết hợp chức năng của các đối tượng connection, command vàdata adapter trong ADO.NET
Hình 2.1.4 a Mô hình lớp DataContext trong Linq To Sql
Để tạo một thể hiện của Datacontext chúng ta truyền một chuổi kết nối đến cơ sở dữliệu
Từ đối tượng DataContext này ta có thể truy xuất các bảng dữ liệu cần thiết cho việctruy vấn dữ liệu một cách dễ dàng
Trang 262.1.5 Truy vấn trong Linq To Sql
Các biểu thức truy vấn chứa ba mệnh đề: from, where, select Mệnh đề from dùng đểxác định nguồn dữ liệu, mệnh đề where dùng để lọc dữ liệu, mệnh đề select dùng đểchọn ra những phần tử được trả về
Select
Select account bằng accountId
Select tất cả account trong trang
Insert - Update
Trang 27xử lý lại do đó tốn khá nhiều thời gian và gia tăng sự phản hồi các trang web, Côngnghệ Ajax chỉ cho các thông tin nào cần thay đổi được gửi về sever xử lý , sau đóserver sẽ xử lý và trả kết quả về cho client.
Ajax bắt đầu phổ biến từ năm 2005 bởi Google (với một ứng dụng GoogleSuggest,Google Maps, Gmail)
Ajax là một công nghệ mới để tạo ra một ứng dụng web nhỏ hơn, nhanh hơn,tốt hơn và giao diện thân thiện với người dùng hơn
Trang 28 Ajax dựa trên các thành phần HTML trước đây :
Ajax là một kĩ thuật của Web browser và độc lập với Web server
Tất cả Web có sử dụng Ajax gọi là Web 2.0
Ajax có thể gởi và nhận dữ liệu với nhiều định dạng khác nhau, bao gồmXML, HTML và file text
2.2.2 Cách hoạt động
Web trước đây ( còn gọi là Web 1.0 ) khi người dùng cần cập nhật thông tin, thì yêucầu thay đổi thông tin sẽ được gửi từ phía Client về Server dưới dạng HTTP request ,toàn bộ trang web sẽ được gửi chứ không riêng gì một vài thông tin cần thay đổi Lúc
đó Client sẽ rơi vào trạng thái chờ (waiting…), trong lúc này phía Client không thểthực hiện một công việc nào khác Khi Server xử lý xong các yêu cầu thì sẽ gửi trả lại
Trang 29cho phía Client một trang web khác thay thế trang cũ (thông tin mà Server responselại ở dạng HTML và CSS) Qui trình này được mô tả như sau :
Hình 2.2.2 a Cách thức hoạt động của trang web thông
thường
Cách thức hoạt động của một trang web cổ điễn là: Click waiting refresh…
… Vì vậy cho dù cập nhật lượng thông tin nhỏ thì cũng phải load lại toàn bộ làmhoạt động trong web chậm
Web với ứng dụng kỹ thuật Ajax, thì Ajax cho phép tạo ra một Ajax Enginenằm giữa UI (user interface – giao diện người dùng) và Server , tức là nằm giữa giaotiếp Client – Server, nhưng phần Ajax Engine này vẫn nằm ở phía Client
Hình 2.2.2.b Cách hoạt động của web sử dụng Ajax
Trang 30Khi đó công việc công việc gửi request và nhận response đều do Ajax Engine thựchiện Thay vì trả dữ liệu dưới dạng HTML và CSS trực tiếp cho trình duyệt, Webserver có thể gửi trả dữ liệu dạng XML và Ajax Engine sẽ tiếp nhận, phân tích vàchuyển đổi thành XHTML + CSS cho trình duyệt hiển thị Việc phân tích và chuyểnđổi này được thực hiện trên Client nên giảm tải rất nhiều cho Server, đồng thời chúng
ta cảm thấy kết quả xử lý được hiển thị tức thì mà không cần nạp lại toàn bộ trang.Mặt khác, sự kết hợp của các công nghệ web như CSS và XHTML làm cho việctrình bày giao diện trang web tốt hơn nhiều và giảm đáng kể dung lượng trangphải nạp Đây là những lợi ích hết sức thiết thực mà Ajax đem lại
So sánh giữa hai mô hình ứng dụng web:
Hình 2.2.2.c Mô hình so sánh cách thức hoạt động của hai ứng dụng web.
Trang 312.2.3 ASP.net Ajax server control
ASP.Net Ajax server controls bao gồm các mã của server và client tương tác với nhau để xử lý các yêu cầu từ client Khi các chúng ta thêm các Ajax control vào trong trang ASP.Net nó sẽ tự động gửi các script đến trình duyệt để thực hiện các chức năng Ajax Chúng ta có thể cung cấp thêm các đoạn mã ở phía client để tùy biến
Hình 2.2.4.a Tab Ajax các chức năng cho Ajax control.
Extensions
Ajax control gồm các control sau đây :
ScriptManager control : Quản lý các script cho các thành phần client ,
partial-page rendering, localization, globalization và scripts của người dùng.Control này được yêu cầu sử dụng cho các controls :UpdatePanel,UpdateProgress và Timer controls
UpdatePanel : Cho phép các bạn refresh một phần của trang ASP.Net thay vì refresh toàn bộ trang sử dụng postback
UpdateProgress : Cung cấp thông tin các trang thái về partial-page update trong UpdatePanel control
Timer : Thực hiện việc postback trong một khoảng thời gian được chỉ định.
Chúng ta có thể sử dụng control này để post toàn bộ trang hoặc sử dụngcùng với Update Panel control thực hiện partial-page update (chỉ một phầnnào đó trên trang ASP.Net được thay đổi) với một khoảng thời gian chỉ định
2.2.4 Ajax Control Toolkit
Ajax Control Toolkit chứa một tập phong phú cácđiều khiển mà bạn có thể sử dụng để xây dựng các
Trang 32ứng dụng ASP.NET Web Forms cho phép đáp ứng và tương tác cao với Ajax Thựchiện theo các bước dưới đây để tải về và bắt đầu sử dụng Ajax Control Toolkit vớiVisual Studio :
Cải đặt Ajax Control Toolkit vào Visual Studio:
Tải Ajax Control Toolkit từ : http://ajaxcontroltoolkit.codeplex.com/
Hình 2.2.4.b Tab Ajax Control Toolkit trong Toobox Visual Studio
Thêm Ajax Control Toolkit vào Visual Studio Toolbox:
Khởi động Visual Studio và tạo ra một website
ASP.NET mới Mở trang Default.aspx trong trình soạn thảo Visual Studio
Mở Hộp công cụ (toolbox) và tạo ra một tab bằng
cách nhấn chuột phải và chọn mục Add Tab Tên tab mới là Ajax ControlToolkit
Nhắp chuột phải vào bên dưới tab mới và chọn
Choose Items…, xuất hiện hộp thoại Choose Toolbox Items , nhắp vào nútBrowse và duyệt đến thư mục mà bạn giải nén gói Ajax Control Toolkit.Chọn tập tin AjaxControlToolkit.dll và nhấp vào nút Open để chọn các AjaxControls đưa vào và chuyển về lại hộp thoại Choose Toolbox Items, nhắpnút OK để hoàn tất
Khi này, trong cửa sổ Toolbox, tab Ajax Control Toolkit vừa mới thêm vào đã cócác Ajax controls trong đó như Hình 2.2.4.b
Một số điều khiển trong trong Ajax Control Toolkit 3.5
Accordion Control:
Accordion control giúp chúng ta định nghĩa nhiều lớp giống như là có nhiều CollapsiblePanel controls mà chỉ có một có thể mở rộng tại một thời điểm xác định Accordion control chứa một hoặc nhiều AccordionPane controls Mỗi AccordionPane control có chứa phần header và phần content của nó
Trang 33Thuộc tính:
HeaderSelectedCssClass –Tên của lớp CSS dùng cho header được chọn
ContentCssClass – Tên lớp CSS dùng cho phần nội dung
FadeTransitions - true để sử dụng hiệu ứng chuyển đổi ngược lại, false
AutoSize – Giá trị chỉ ra giới hạn của phần thể hiên
Panes – Tập hợp AccordionPane
HeaderTemplate – Các yếu tố có chứa đánh dấu, nên được sử dụng cho tiêu
đề của một cửa sổ khi có ràng buộc dữ liệu
ContentTemplate – Phần tử chứa phần mở rộng sẽ thể hiện cho phần nộidung trong khi dữ liệu được gắn
DataSourceID – ID của datasource
DataMember – Đối tượng được gắn vào khi sử dụng DataSourceID cho việcgắn dữ liệu
AlwaysVisible Control
Là một extender được dùng để hiển thị một cách liên tục đến một điều khiển ASP.NET.Điều khiển được mở rộng sẽ luôn luôn di chuyển đến một vị trí cố định trên trang bất kể trang thị thay đổi kích thước hay bị cuộn.
Thuộc tính:
HorizontalOffset: Khoảng cách tới cạnh ngang của trình duyệt tính bằngpixel cùng phía với điều khiển đích,mặc định là 0px
HorizontalSide: Phía của điều khiển phụ thuộc vào,mặc định là bên trái
ScrollEffectDuration: Thời gian tính bằng giây cho hiệu ứng cuộn khi điềukhiển đích thay đổi vị trí,mặc đinh là 0.1s
UseAnimation: Cho phép hay không hiệu ứng một phần từ vào vị trí
VerticalOffset: Khoảng cách tới cạnh dọc của trình duyệt tính bằng pixelcùng phía với điều khiển đích, mặc định là 0px
VerticalSide: Phía của điều khiển phụ thuộc vào,mặc định là bên trên
AsyncFileUpload Control
Trang 34AsyncFileUpload cho phép bạn upload file lên server một cách bất đồng bộ,kết quả của file upload có thể được kiểm tra cả ở phía server lẫn client, chúng ta có thể lưu file được upload bằng cách gọi phương thức SaveAs() trong điều khiển sự kiện
UploadedComplete ở server.
Thuộc tính:
CompleteBackColor: Lấy hoặc thiết lập giá trị màu nền khi file đang đượcupload,mặc định là Lime
ContentType: Lấy kiểu nội dung của file upload
ErrorBackColor: Lấy hoặc thiết lập giá trị màu nền khi file upload bịlỗi,mặc định là red
FileBytes: Xác định dung lượng file vừa upload
FileContent: Tạo một đối tượng Stream trỏ đền file vừa được upload đểchuẩn bị cho việc đọc file
FileName: Xác đinh tên file vừa upload
HasFile: Trả về giá trị true nếu file đã được upload
IsUploading: Trả về giá trị true nếu file đang được upload
PostedFile: Lấy một đối tượng HttpPostedFile để truy xuất file vừa upload
Thuộc tính:
AutoCollapse: Nếu giá trị là true và trạng thái của panel là “expanded” thìkhí di chuyển con trỏ chuột ra khỏi panel thì nó tự động collapse
Trang 35 AutoExpand: Ngược lại,nếu giá trị là true và trạng thái của panel là
“collapse” thì khi di chuyển chuột vào nó sẽ tự động expanded
CollapseControlID: ID của panel được gắn với điều khiển.Panel sẽ thu gọnkhi điều khiển kích hoạt sự kiện “onclick” phía client
Collapsed: Tín hiệu khởi tạo trạng thái thu gọn của điều khiển
CollapsedImage: Hình ảnh được hiển thị khi panel được thu hẹp vàImageControlID được thiết đặt
CollapsedSize: Kích thước của panel khi nó ở trạng thái thu hẹp
CollapsedText: Đoạn text để hiển thị trong trạng thái đóng Khi panel ở trạngthái đóng, nội dung bên trong điều khiển tham chiếu tới thuộc tínhTextLabelID sẽ được thay thế bới đoạn text này
ExpandControlID: ID của điều khiển phía server
ExpandDirection: Kích thước dùng để mở rộng hoặc thu hẹp theo chiềungang hoặc hiều dọc
ExpandedImage: Hình ảnh được hiển thị khi panel được mở rộng và thuộctính ImageControlID được thiết lập
ExpandedSize: Kích thước của panel khi nó ở trạng thái mở
ExpandedText: Văn bản được hiển thị trong trạng thái mở rộng, khi panelđược mở, nội dung bên trong của điều khiển tham chiếu bởi thuộc tínhTextLabelID sẽ được thay thế bởi đoạn text này
ImageControlID: ID của hình ảnh thể hiện trạng thái hiện tại của panel, khitrạng thái thu gọn của panel thay đổi
ScrollContents: Xác định phần nội dung của panel sẽ được cuộn hoặc che đinếu chúng không nằm gọn bên trong kích thước đã mở rộng
SuppressPostBack: Xác định CollapsiblePanelBehavior sẽ ngăn chặn xử lý
sự kiện click của điều khiển tham chiếu đến CollapseControlID hoặcExpandControlID
TextLabelID: ID của một label thể hiện trạng thái hiện tại của Panel
Trang 36 ConfirmButton Control
ConfirmButton là một extender đơn giản bắt sự kiện click một button và hiển thị một thong báo đến người dung Nếu button OK được click, hàm sẽ được xử lý bình thường, nếu không, sự kiện click sẽ bị bỏ qua và button sẽ không thực hiện hành vi mặc định của nó.
Thuộc tính:
ConfirmOnFormSubmit: rue nếu hộp thoại xác thực sẽ được chạy trên form
ConfirmText: Chuỗi sẽ được hiển thị bên trong hộp thoại
OnClientCancel: Chỉ ra ID của ModalPopupExtender được dùng trongwindow.confirm
PostBackScript: Chỉ ra đoạn mã được chạy để khởi tạo postback
HTMLEditor Control
HTMLEditor là một điều khiển ASP.NET AJAX cho phép bạn dễ dàng tạo hoặc sửa đổi nội dung HTML Các button khác trong thanh công cụ được dùng để biên tập nội dung Chúng ta có thể thấy các thẻ HTML hoặc tài liệu xem trước.
Thuộc tính:
ActiveMode: Kích hoạt panel dùng để biên tập khi điều khiển được nạp
AutoFocus: Nếu giá trị là true,khung biên tập sẽ được chọn và con trỏ sẽđược đặt vào trong nó (Design hoặc HTML text)khi trang được khởi tạo hoặckhung soạn thảo thay đổi
Content: Thiết lập nội dung của HTML Editor
CssClass: Lớp css dùng để định nghĩa giao diện cho HTMLEditor
DesignPanelCssPath: Thiêt lập đường dẫn của file css được dùng để nộidung trong HTMLEditor biểu hiện ở chế đọ Desig.Nếu không thiết lập,filecss mặc định sẽ được dùng
DocumentCssPath: Thiêt lập đường dẫn của file css được dùng để nội dungtrong HTMLEditor biểu hiện ở chế độ Design hoặc Preview.Nếu không thiếtlập,file css mặc định sẽ được dùng
Trang 37 Height: Thiết lập chiều cao của khung soạn thảo.
HtmlPanelCssClass: Lớp css định nghĩa giao diện cho chế độ HTML text
IgnoreTab: Nếu giá trị là true,nút tab sẽ không có hiệu lực
InitialCleanUp: Nếu giá trị là true,nội dung của HTMLEditor sẽ bị xóa khiđược nạp lúc khởi tạo
NoScript: Nếu giá trị là true, javascript sẽ bị vô hiệu hóa
NoUnicode: Nếu giá trị là true,tất cả các kí tự Unicode sẽ được thay thế bằng
&#code
SuppressTabInDesignMode: Nếu giá trị là true,sẽ không có khoảng trắng nàođược đặt khi nhấn tab trong chế độ Design.nút tab mặc định sẽ được xử lýtrong trường hợp này
Width: Thiết lập chiều rộng của khung biên tập
ModalPopup Control
Modalpopup extender cho phép một trang có thể hiển thị nội dung cho người dùng theo kiểu modal, tức là ngăn cản người dùng tác động vào phần còn lại của trang Nội dung modal có thể được hiển thị trên nền của trang và với kiểu tùy chọn áp dụng vào nó
Thuộc tính:
TargetControlID: ID của phần tử kích hoạt popup modal
PopupControlID: ID của phần tử hiển thị như là popup modal
BackgroundCssClass: Lớp css áp dụng cho nền khi popup modal hiển thị
DropShadow: Tự động thêm bóng cho popup modal
OkControlID: ID của phần tử hủy bỏ modal popup
OnOkScript: Mã lệnh được chạy khi modal popup bị hủy bỏ bởiOkControlID
CancelControlID: ID của phần tử bỏ qua modal popup
OnCancelScript: Mã lệnh được chạy khi hủy bỏ modal popup bởiCancelControlID
Trang 38 PopupDragHandleControlID: ID của phần tử chứa tiêu đề được dùng như làđiều khiển popup.
X: Tọa độ theo chiều ngang
Y: Tọa độ theo chiều dọc
PagingBulletedList Control
PagingBulletedList là một ASP.NET AJAX extender có thể được gắn vào một BulletedList ASP.NET kiểm soát và cung cấp cho phía máy khách hình thức sắp xếp phân trang Nó rất linh hoạt và cho phép bạn chỉ định, hoặc số lượng các ký tự được sử dụng trong các chỉ số nhóm hoặc số lượng tối đa của các mục để hiển thị mỗi chỉ mục.
Thuộc tính:
TargetControlID: ID của BulletedList
ClientSort: Cho phép cac mục sẽ được sắp xếp phía client hay không
IndexSize: Số lượng ký tự trong các nhóm chỉ số
MaxItemPerPage: Số mục tối đa trên mỗi trang
Separator: Dấu ngăn được đặt giữa các chỉ số
SelectIndexCssClass: CSS class cho các chỉ số được lựa chọn
UnselectIndexCssClass: CSS class cho các chỉ số mà không được lựa chọn
Popup Control
PopupControl là một ASP.NET AJAX extender có thể được đính kèm vào bất kì điều khiển nào để mở một cửa sổ popup có hiển thị nội dung bổ sung Cửa sổ popup này sẽ được tương tác và sẽ được đặt vào bên trong một ASP.NET AJAX UpdatePanel.
Thuộc tính:
TargetControlID: ID của điều khiến muốn gắn vào
PopupControlID: ID của điều khiển hiển thị
Position: Thiết lập tùy chỉnh vị trí của hiển thị popup so với điều khiển đích
Trang 39 CommitProperty: Thiết lập tùy chọn chỉ ra rằng điều khiển được gắnextender này sẽ nhận kết quả từ popup.
CommitScript: Thiết lập tùy chỉnh đoạn mã lệnh sẽ được thực hiện sau khithiết lập kết quả ở popup
OffsetX/OffsetY: Số pixel chênh lệch cửa popup từ vị trí mặc định của nóđược chỉ định trong thuộc tính position
Animations: Hiệu ứng khi hiển thị popup
CurrentRating: Khởi tạo giá trị đánh giá
MaxRating: Giá trị đánh giá tối đa
ReadOnly: Cho phép sử đổi đánh giá hay không
StarCssClass: Lớp css cho các ngôi sao hiển hiện
WaitingStarCssClass: Lớp css cho các ngôi sao ở trạng thái chờ
FilledStarCssClass: Lớp css cho các ngôi sao ở trạng thái đầy
EmptyStarCssClass: Lớp css cho các ngôi sao ở trạng thái trống
RatingAlign: Cách sắp các ngôi sao (ngang hay dọc)
RatingDirection: Hướng các ngôi sao là từ trái quá phải hay ngược lại
OnChanged: Sự kiện ClientCallBack được gọi khi đánh giá được thay đổi
Tag: Tham biến theo ý riêng đến chuyển đến lientcallback
ReorderList là một điều khiển ASP.NET AJAX thực hiện ràng buộc dữ liệu với danh sách liệt kê các mục có thể được sắp xếp lại Để sắp xếp lại các mục trong danh
Trang 40sách, người dùng chỉ cần kéo thanh điều khiển của mặt hàng đó đến vị trí mới.Thông tin
phản hồi được hiển thị dưới dạng đồ họa, nơi mục này được đặt bởi người sử dụng Các nguồn dữ liệu được cập nhật sau khi mục đó được kéo tới vị trí mới.
Thuộc tính:
DataSourceID: Nguồn dữ liệu được dùng để gắn vào điều khiển
DataKeyField: Khóa riêng cho dữ liệu
SortOrderField: Trường đại diện cho thứ tự sắp xếp các mục
ItemInsertLocation: Xác định nơi mà một phần tử mới được thêm vào danhsách có thể là begin hoặc end
DragHandleAlignment: Nơi điều khiển kéo được gắn so với phần tử,có thể làleft, right, top, bottom
AllowReorder: Cho phép kéo thả để sắp xếp hay không,mặc định là true
ItemTemplate: Mẫu để hiển thị các phần tử trong danh sách
EditItemTemplate: Mẫu để hiển thị cho một dòng trong chế độ sửa đổi
ReorderTemplate: Mẫu được dùng để hiển thị vị trí được thả xuống khi thựchiện sắp xếp lại, mẫu này không được gắn dữ liệu
InsertItemTemplate: Mẫu được dùng để thể hiện một phần tử mới được thêmvào
DragHandleTemplate: Mẫu cho mục khi người dùng kéo để sắp xếp lại mục
EmptyListTemplate: Mẫu được dùng khi danh sách rỗng,mục này cũngkhông được gắn dữ liệu
PostbackOnReorder: Xác định cho phép postback hay callback khi được sắpxếp lại,nếu dùng bất kì hàm sửa đổi hay xóa nào thì nên thiết lập là enable
RoundedCorners Control
Các extender RoundedCorners làm tròn góc cho các phần tử Để thực hiện điều này
nó chèn vào các phần tử trước và sau khi các phần tử đó được chọn, do đó chiều