text:
Đăng ký thành viên
Đăng ký
|
Đăng nhập
Đăng nhập
Đăng ký
Họ và tên:
*
Email:
*
(4-30 ký tự )
Mật khẩu:
*
(6-30 ký tự )
Nhập lại mật khẩu:
*
Số điện thoại:
*
Địa chỉ :
*
(Số nhà, đường, khu phố)
Tỉnh / Thành :
*
Tỉnh / Thành
Đà Nẵng
Hà Nội
TP Hồ Chí Minh
An Giang
BR - Vũng Tàu
Bắc Giang
Bắc Kạn
Bạc Liêu
Bắc Ninh
Bến Tre
Bình Dương
Bình Định
Bình Phước
Bình Thuận
Cà Mau
Cần Thơ
Cao Bằng
Đăk Lăk
Đăk Nông
Điện Biên
Đồng Nai
Đồng Tháp
Gia Lai
Hà Giang
Hà Nam
Hà Tĩnh
Hải Dương
Hải Phòng
Hậu Giang
Hòa Bình
Hưng Yên
Khánh Hòa
Kiên Giang
Kon Tom
Lai Châu
Lâm Đồng
Lạng Sơn
Lào Cai
Long An
Nam Định
Nghệ An
Ninh Bình
Ninh Thuận
Phú Yên
Phú Thọ
Quảng Bình
Quảng Nam
Quảng Ngãi
Quảng Ninh
Quảng Trị
Sóc Trăng
Sơn La
Tây Ninh
Thái Nguyên
Thái Bình
Thanh Hóa
Thừa Thiên - Huế
Tiền Giang
Trà Vinh
Tuyên Quang
Vĩnh Long
Vĩnh Phúc
Yên Bái
Quận / Huyện :
*
Quận / Huyện
Đồng ý với các điều khoản của RAOBANNHADAT.VN
Đã có tài khoản?
Đăng nhập
Đăng nhập
Email:
Mật khẩu:
Ghi nhớ
Quên mật khẩu
Lấy lại mật khẩu
Email:
(Nhập mail đã đăng ký để lấy lại mật khẩu)
Trang chủ
Cho thuê nhà đất
Cho thuê căn hộ chung cư
Cho thuê nhà riêng
Cho thuê nhà mặt phố
Cho thuê nhà trọ, phòng trọ
Cho thuê văn phòng
Cho thuê cửa hàng - ki ốt
Cho thuê kho, nhà xưởng, đất
Cho thuê loại bất động sản khác
Bán nhà đất
Bán căn hộ chung cư
Bán nhà riêng
Bán nhà biệt thự, liền kề
Bán nhà mặt phố
Bán đất nền dự án
Bán đất
Bán trang trại, khu nghỉ dưỡng
Bán kho, nhà xưởng
Bán loại bất động sản khác
Bản đồ nhà đất
Hướng dẫn sử dụng
Tạo tài khoản
Đăng tin siêu VIP
Đăng tin VIP
Liên hệ
Cho thuê nhà đất
Bán nhà đất
Loại địa ốc
Cho thuê căn hộ chung cư
Cho thuê nhà riêng
Cho thuê nhà mặt phố
Cho thuê nhà trọ, phòng trọ
Cho thuê văn phòng
Cho thuê cửa hàng - ki ốt
Cho thuê kho, nhà xưởng, đất
Cho thuê loại bất động sản khác
Tỉnh / Thành phố
TP Hồ Chí Minh
Hà Nội
Đà Nẵng
Bình Dương
Đồng Nai
Hải Phòng
Long An
Thừa Thiên - Huế
Cần Thơ
Quảng Nam
Quảng Ngãi
Vĩnh Long
Thái Bình
An Giang
Bắc Giang
Bắc Kạn
Bạc Liêu
Bắc Ninh
Bến Tre
Bình Định
Bình Phước
Bình Thuận
BR - Vũng Tàu
Cà Mau
Cao Bằng
Đăk Lăk
Đăk Nông
Điện Biên
Đồng Tháp
Gia Lai
Hà Giang
Hà Nam
Hà Tĩnh
Hải Dương
Hậu Giang
Hòa Bình
Hưng Yên
Khánh Hòa
Kiên Giang
Kon Tom
Lai Châu
Lâm Đồng
Lạng Sơn
Lào Cai
Nam Định
Nghệ An
Ninh Bình
Ninh Thuận
Phú Thọ
Phú Yên
Quảng Bình
Quảng Ninh
Quảng Trị
Sóc Trăng
Sơn La
Tây Ninh
Thái Nguyên
Thanh Hóa
Tiền Giang
Trà Vinh
Tuyên Quang
Vĩnh Phúc
Yên Bái
Quận / Huyện
Cam Ranh
Diên Khánh
Khánh Sơn
Khánh Vĩnh
Ninh Hòa
Nha Trang
Trường Sa
Vạn Ninh
Can Lâm
Thông tin bất động sản
CHO THUÊ CĂN HỘ STUDIO CAO CẤP TẠI THE COSTA NHA TRANG
0014519
Địa chỉ:
32-34 Trần Phú - Nha Trang, Nha Trang, Khánh Hòa
Loại tin:
Cho thuê nhà đất
Loại BĐS:
Cho thuê căn hộ chung cư
Diện tích:
60 m
2
Ngày đăng:
30-04-2014
Giá: thỏa thuận / Tổng diện tích
THÔNG TIN LIÊN HỆ
Người liên hệ:
Nguyễn Ảnh
Điện thoại:
0903594237
Cho thuê dài hạn và trung hạn căn hộ 5 sao Studio tại The Costa NhaTrang - một trong những Dự án cao cấp và sang trọng bậc nhất Việt Nam hiện nay.- Vị trí: Đẹp số 1 Nha Trang trên Đại lộ Trần Phú. Trong cụm phức hợp Khách sạn 5 sao quốc tế InterContinental Nha Trang, bên cạnh Khách sạn Sheraton Nha Trang và Khách sạn Havana.- Tiện ích chung: Hồ bơi, Phòng Gym,phòng Yoga, Tháng máy cao cấp, Loby và hành lang sang trọng, rộng rãi, Điện dự phòng 100%; Bãi đậu xe rộng rãi, an ninh;- Hướng căn hộ: Chính diện Biển, bất cứ vị trí nào trong căn hộ đều nhìn thấy biển (trừ WC).- Ban công nhìn xuống hồ bơi KS InterContinental Nha Trang.- Nội thất cao cấp đúng tiêu chuẩn 5 sao của Đơn vị thiết kế nước ngoài: P49 Deesign.- Trang thiết bị mới và các nhãn hiệu nổi tiếng: + Máy giặt, Tủ lạnh, Lò vi sóng & Nồi cơm điện: hiệu Electrolux; + Sony Internet Tivi; + Thiết bị Bếp (Lò nướng, Máy hút mùi,...): hiệu Bosh - Đức; + Thiết bị vệ sinh hiệu Koler - Mỹ; + Phụ kiện cửa đi, tủ áo, tủ bếp hiệu Hafele loại Inox 316; + Phụ kiện điện Legrand - Pháp;- Wifi Internet tốc độ cao, sử dụng riêng;- Vật dụng sinh hoạt: đầy đủ cho nhu cầu ở dài hạn;
Từ khóa:
Cho thuê nhà đất Khánh Hòa
,
Cho thuê nhà đất Nha Trang
,
Cho thuê căn hộ chung cư Khánh Hòa
,
Cho thuê căn hộ chung cư Nha Trang
Các tin rao tương tự
19-09-2016
8 triệu / Tháng
Cho thuê căn hộ CT6 Vĩnh Điềm Trung
Vĩnh Hiệp, Nha Trang, Nha Trang, Khánh Hòa
19-09-2016
8 triệu / Tháng
Cho thuê căn hộ CT6 Vĩnh Điềm Trung
Vĩnh Hiệp, Nha Trang, Nha Trang, Khánh Hòa
16-09-2016
5 tỷ
Căn hộ Condotel Nha Trang, view biển - Giá gốc CĐT
44 - 46 Lê Thánh Tôn, Nha Trang, Khánh Hòa
14-09-2016
1800 ngàn tỷ
Căn hộ Condotel Nha Trang, view biển - Giá gốc CĐT
44 - 46 Lê Thánh Tôn, Nha Trang, Khánh Hòa
30-08-2016
1.8 tỷ
Căn hộ Condotel Nha Trang, view biển - Giá gốc CĐT
44 - 46 Lê Thánh Tôn, Nha Trang, Khánh Hòa
30-08-2016
1.8 tỷ
Căn hộ Condotel Nha Trang, view biển - Giá gốc CĐT
44 - 46 Lê Thánh Tôn, Nha Trang, Khánh Hòa
22-08-2016
1.8 tỷ
Căn hộ Condotel Nha Trang, view biển - Giá gốc CĐT
44 - 46 Lê Thánh Tôn, Nha Trang, Khánh Hòa
24-06-2016
thỏa thuận
trải nghiệm cùng khách sạn mường thanh 5* cho thuê lh:0901 90 86 99 .*$..
trần phú - lộc thọ, Nha Trang, Khánh Hòa
24-06-2016
800 ngàn
ĐẶT THUÊ NGAY CĂN HỘ CAO CẤP MƯỜNG THANH NHA TRANG VIEW BIẾN VỚI GIÁ CỰC HẤP DẪN LH:0905331159
Nha Trang, Khánh Hòa, Nha Trang, Khánh Hòa
22-06-2016
thỏa thuận
Cho thuê căn hộ nghỉ dưỡng mường thanh nha trang giá rẻ .*$..
Trân phú -, Nha Trang, Khánh Hòa
14-06-2016
900 ngàn
ĐẶT THUÊ NGAY CĂN HỘ CAO CẤP MƯỜNG THANH VIEW BIẾN VỚI GIÁ CỰC HẤP DẪN LH:0905.153.559
phường Lộc Thọ, Nha Trang, Khánh Hòa
26-05-2016
750 triệu
Cho thuê Căn hộ 5sao Tại Mường Thanh 60 trần phú–TP.Nha Trang Gía rẻ!Chỉ 750 nghìn/ngày
Nha Trang, Khánh Hòa, Nha Trang, Khánh Hòa
20-05-2016
8 triệu / Tháng
CHO THUÊ CĂN HỘ KHÁCH SẠN 4 SAO MƯỜNG THANH QUÊ HƯƠNG TP.NHA TRANG
60 trần phú, Nha Trang, Khánh Hòa
20-05-2016
9 triệu / Tháng
CHO THUÊ CĂN HỘ KS MƯỜNG THANH QUÊ HƯƠNG,GIÁ CẢ HỢP LÝ.LH 0901.953.889
60 trần phú, Nha Trang, Khánh Hòa
20-05-2016
900 ngàn / Tháng
Chính chủ cần cho thuê căn hộ Mường Thanh cao cấp. LH: 0901.953.889
60 trần phú, Nha Trang, Khánh Hòa
20-05-2016
10 triệu / Tháng
Cho thuê căn hộ Mường Thanh Quê Hương (60 Trần Phú - Nha Trang).view biển 1 triệu/ngày
60 trần phú, Nha Trang, Khánh Hòa
20-05-2016
8 triệu / Tháng
Chính chủ cần cho thuê căn hộ khách sạn 60 trần phú giá 40$/ngày.LH 0901.953.889
60 trần phú, Nha Trang, Khánh Hòa
20-05-2016
10 triệu / Tháng
Cho thuê căn hộ khách sạn ngay trung tâm thành phố Nha Trang,giá 40$/ngày.
60 trần phú, Nha Trang, Khánh Hòa
20-05-2016
9 triệu / Tháng
CHO THUÊ CĂN HỘ KS MƯỜNG THANH,GIÁ 9 TRIỆU/THÁNG.LH 0901.953.889
60 trần phú, Nha Trang, Khánh Hòa
20-05-2016
9 triệu / Tháng
Chính chủ cần cho thuê căn hộ Mường Thanh cao cấp.Giá 9 triệu/tháng. LH: 0901.953.889
60 trần phú, Nha Trang, Khánh Hòa
Quận huyện
Cho thuê căn hộ chung cư Cam Ranh
Cho thuê căn hộ chung cư Diên Khánh
Cho thuê căn hộ chung cư Khánh Sơn
Cho thuê căn hộ chung cư Khánh Vĩnh
Cho thuê căn hộ chung cư Ninh Hòa
Cho thuê căn hộ chung cư Nha Trang
Cho thuê căn hộ chung cư Trường Sa
Cho thuê căn hộ chung cư Vạn Ninh
Cho thuê căn hộ chung cư Can Lâm
Tỉnh thành
Cho thuê căn hộ chung cư TP Hồ Chí Minh
Cho thuê căn hộ chung cư Hà Nội
Cho thuê căn hộ chung cư Đà Nẵng
Cho thuê căn hộ chung cư Bình Dương
Cho thuê căn hộ chung cư Đồng Nai
Cho thuê căn hộ chung cư Hải Phòng
Cho thuê căn hộ chung cư Thừa Thiên - Huế
Cho thuê căn hộ chung cư Long An
Cho thuê căn hộ chung cư Cần Thơ
Cho thuê căn hộ chung cư Quảng Nam
Cho thuê căn hộ chung cư Quảng Ngãi
Cho thuê căn hộ chung cư Vĩnh Long
Cho thuê căn hộ chung cư Thái Bình
Cho thuê căn hộ chung cư Ninh Bình
Cho thuê căn hộ chung cư Lào Cai
Danh mục
Phòng trọ Hà Nội
Đất Đồng Nai giá rẻ
Bán nhà Bình Dương
Đất Long An giá rẻ
Bán nhà Sài Gòn
Bán căn hộ chung cư TP Hồ Chí Minh
Bán căn hộ chung cư Hà Nội
Bán căn hộ chung cư Đà Nẵng
Bán căn hộ chung cư Bình Dương
Bán căn hộ chung cư Đồng Nai
Bán căn hộ chung cư Hải Phòng
Bán căn hộ chung cư Thừa Thiên - Huế
Bán căn hộ chung cư Long An
Bán nhà riêng TP Hồ Chí Minh
Bán nhà riêng Hà Nội
Bán nhà riêng Đà Nẵng
Bán nhà riêng Bình Dương
Bán nhà riêng Đồng Nai
Bán nhà riêng Hải Phòng
Bán nhà riêng Thừa Thiên - Huế
Bán nhà riêng Long An
Bán đất TP Hồ Chí Minh
Bán đất Hà Nội
Bán đất Đà Nẵng
Bán đất Bình Dương
Bán đất Đồng Nai
Bán đất Hải Phòng
Bán đất Thừa Thiên - Huế
Bán đất Long An
Cho thuê căn hộ chung cư TP Hồ Chí Minh
Cho thuê căn hộ chung cư Hà Nội
Cho thuê căn hộ chung cư Đà Nẵng
Cho thuê căn hộ chung cư Bình Dương
Cho thuê căn hộ chung cư Đồng Nai
Cho thuê căn hộ chung cư Hải Phòng
Cho thuê căn hộ chung cư Thừa Thiên - Huế
Cho thuê căn hộ chung cư Long An
Cho thuê nhà trọ, phòng trọ TP Hồ Chí Minh
Cho thuê nhà trọ, phòng trọ Hà Nội
Cho thuê nhà trọ, phòng trọ Đà Nẵng
Cho thuê nhà trọ, phòng trọ Bình Dương
Cho thuê nhà trọ, phòng trọ Đồng Nai
Cho thuê nhà trọ, phòng trọ Hải Phòng
Cho thuê nhà trọ, phòng trọ Thừa Thiên - Huế
Cho thuê nhà trọ, phòng trọ Long An
Đã đăng ký với bộ Công Thương. Mã số đăng ký là 2015-0186/ĐK/TMĐT
Quy chế hoạt động
-
Bảo mật thông tin
Công ty TNHH Tư Vấn Giải Pháp và Công Nghệ Quốc Tế
MST: 0310368322 - Email: info@raobannhadat.vn - Điện thoại: 0989 722 522
Địa chỉ:41/1, Phường Trung Mỹ Tây Quận 12, TP Hồ Chí Minh
Hỗ trợ kỹ thuật: Yahoo: nth678 - Skype: nth678 - Email:
thanhhung678@gmail.com
- 0989 722 522 (Thanh Hưng mr)


text:
Đăng ký thành viên
Đăng ký
|
Đăng nhập
Đăng nhập
Đăng ký
Họ và tên:
*
Email:
*
(4-30 ký tự )
Mật khẩu:
*
(6-30 ký tự )
Nhập lại mật khẩu:
*
Số điện thoại:
*
Địa chỉ :
*
(Số nhà, đường, khu phố)
Tỉnh / Thành :
*
Tỉnh / Thành
Đà Nẵng
Hà Nội
TP Hồ Chí Minh
An Giang
BR - Vũng Tàu
Bắc Giang
Bắc Kạn
Bạc Liêu
Bắc Ninh
Bến Tre
Bình Dương
Bình Định
Bình Phước
Bình Thuận
Cà Mau
Cần Thơ
Cao Bằng
Đăk Lăk
Đăk Nông
Điện Biên
Đồng Nai
Đồng Tháp
Gia Lai
Hà Giang
Hà Nam
Hà Tĩnh
Hải Dương
Hải Phòng
Hậu Giang
Hòa Bình
Hưng Yên
Khánh Hòa
Kiên Giang
Kon Tom
Lai Châu
Lâm Đồng
Lạng Sơn
Lào Cai
Long An
Nam Định
Nghệ An
Ninh Bình
Ninh Thuận
Phú Yên
Phú Thọ
Quảng Bình
Quảng Nam
Quảng Ngãi
Quảng Ninh
Quảng Trị
Sóc Trăng
Sơn La
Tây Ninh
Thái Nguyên
Thái Bình
Thanh Hóa
Thừa Thiên - Huế
Tiền Giang
Trà Vinh
Tuyên Quang
Vĩnh Long
Vĩnh Phúc
Yên Bái
Quận / Huyện :
*
Quận / Huyện
Đồng ý với các điều khoản của RAOBANNHADAT.VN
Đã có tài khoản?
Đăng nhập
Đăng nhập
Email:
Mật khẩu:
Ghi nhớ
Quên mật khẩu
Lấy lại mật khẩu
Email:
(Nhập mail đã đăng ký để lấy lại mật khẩu)
Trang chủ
Cho thuê nhà đất
Cho thuê căn hộ chung cư
Cho thuê nhà riêng
Cho thuê nhà mặt phố
Cho thuê nhà trọ, phòng trọ
Cho thuê văn phòng
Cho thuê cửa hàng - ki ốt
Cho thuê kho, nhà xưởng, đất
Cho thuê loại bất động sản khác
Bán nhà đất
Bán căn hộ chung cư
Bán nhà riêng
Bán nhà biệt thự, liền kề
Bán nhà mặt phố
Bán đất nền dự án
Bán đất
Bán trang trại, khu nghỉ dưỡng
Bán kho, nhà xưởng
Bán loại bất động sản khác
Bản đồ nhà đất
Hướng dẫn sử dụng
Tạo tài khoản
Đăng tin siêu VIP
Đăng tin VIP
Liên hệ
Cho thuê nhà đất
Bán nhà đất
Loại địa ốc
Cho thuê căn hộ chung cư
Cho thuê nhà riêng
Cho thuê nhà mặt phố
Cho thuê nhà trọ, phòng trọ
Cho thuê văn phòng
Cho thuê cửa hàng - ki ốt
Cho thuê kho, nhà xưởng, đất
Cho thuê loại bất động sản khác
Tỉnh / Thành phố
TP Hồ Chí Minh
Hà Nội
Đà Nẵng
Bình Dương
Đồng Nai
Hải Phòng
Long An
Thừa Thiên - Huế
Cần Thơ
Quảng Nam
Quảng Ngãi
Vĩnh Long
Thái Bình
An Giang
Bắc Giang
Bắc Kạn
Bạc Liêu
Bắc Ninh
Bến Tre
Bình Định
Bình Phước
Bình Thuận
BR - Vũng Tàu
Cà Mau
Cao Bằng
Đăk Lăk
Đăk Nông
Điện Biên
Đồng Tháp
Gia Lai
Hà Giang
Hà Nam
Hà Tĩnh
Hải Dương
Hậu Giang
Hòa Bình
Hưng Yên
Khánh Hòa
Kiên Giang
Kon Tom
Lai Châu
Lâm Đồng
Lạng Sơn
Lào Cai
Nam Định
Nghệ An
Ninh Bình
Ninh Thuận
Phú Thọ
Phú Yên
Quảng Bình
Quảng Ninh
Quảng Trị
Sóc Trăng
Sơn La
Tây Ninh
Thái Nguyên
Thanh Hóa
Tiền Giang
Trà Vinh
Tuyên Quang
Vĩnh Phúc
Yên Bái
Quận / Huyện
Ba Đình
Cầu Giấy
Đông Anh
Đống Đa
Gia Lâm
Hai Bà Trưng
Hoàn Kiếm
Hoàng Mai
Long Biên
Sóc Sơn
Sơn Tây
Thanh Trì
Tây Hồ
Thanh Xuân
Từ Liêm
Ba Vì
Chương Mỹ
Đan Phượng
Hà Đông
Hoài Đức
Mỹ Đức
Phú Xuyên
Phúc Thọ
Quốc Oai
Thạch Thất
Thanh Oai
Thường Tín
Ứng Hòa
Mê Linh
Thông tin bất động sản
Nhà riêng 4 tầng 7 triệu/tháng cho thuê tại Lê Đức Thọ, Từ Liêm
0090985
Địa chỉ:
Lê Đức Thọ, Mỹ Đình, Từ Liêm, Từ Liêm, Hà Nội
Loại tin:
Cho thuê nhà đất
Loại BĐS:
Cho thuê nhà riêng
Diện tích:
36 m
2
Ngày đăng:
22-04-2014
Giá: 7 triệu / Tháng
THÔNG TIN LIÊN HỆ
Người liên hệ:
MissLan
Điện thoại:
0967738854
Nhà riêng 4 tầng 7 triệu/tháng cho thuê tại Lê Đức Thọ, Từ Liêm- Nhà riêng diện tích 36 m2 x 4 tầng. Mỗi tầng 1 phòng, một nhà vệ sinh. Nhà đẹp mới xây, có 1 phòng khách, 1 bếp, đã có tủ bếp, kệ bếp, điện nước Internet đầy đủ, có ti vi, bàn, tủ... ngõ rộng 2.7m, - Vị trí: gần trường Đại học Thương Mại, Viện Nghiên Cứu Cơ Khí, đường Lê Đức Thọ,- Công năng: Cho hộ gia đình thuê- Giá rất hợp lý: 7 tr/tháng- Liên hệ: Miss Lan- ĐT: 0967738854- Cam kết bất động sản công ty giới thiệu chuẩn và chính xác.- Miễn phí hoàn toàn khi thuê được nhà- Phí dịch vụ dẫn đi là 100k (tiền điện thoại xăng xe). Tìm kiếm theo từ khóa:
Cho thuê nhà
xã Mỹ Đình ,
Cho thuê nhà
xã Mỹ Đình Từ Liêm ,
Cho thuê nhà
đường Lê Đức Thọ ,
Cho thuê nhà
đường Lê Đức Thọ Từ Liêm
Từ khóa:
Cho thuê nhà đất Hà Nội
,
Cho thuê nhà đất Từ Liêm
,
Cho thuê nhà riêng Hà Nội
,
Cho thuê nhà riêng Từ Liêm
Các tin rao tương tự
52 phút trước
6 triệu
Cho thuê tầng 3, tầng 4 nhà mặt phố số 428 Tây Sơn, Ngã Tư Sở, Đống Đa, Hà Nội.
Cho thuê tầng 3, tầng 4 nhà mặt phố số 428 Tây Sơn, Ngã Tư Sở, Đống Đa, Hà Nội., Đống Đa, Hà Nội
2 giờ trước
3 triệu
Cho thuê nhà C4, 4.5x7.3m, gần chợ Đức Diễn, quận Bắc Từ Liêm
Cho thuê nhà C4, 4.5x7.3m, gần chợ Đức Diễn, quận Bắc Từ Liêm, Từ Liêm, Hà Nội
2 giờ trước
thỏa thuận
Cho thuê nhà số 25 ngõ 125 Trương Định, Hai Bà Trưng
Cho thuê nhà số 25 ngõ 125 Trương Định, Hai Bà Trưng, Hai Bà Trưng, Hà Nội
3 giờ trước
22 triệu / Tháng
Cho thuê nhà 50m2, 5 tầng, Nguyễn Thị Định làm văn phòng
34 nguyễn thị định, Cầu Giấy, Hà Nội
3 giờ trước
30 triệu
Cho thuê nhà Đỗ Quang, 80m2 x 4 tầng, căn góc
Đỗ Quang, Cầu Giấy, Hà Nội
3 giờ trước
21 triệu / Tháng
Cho thuê nhà phân lô Nguyễn Thị Định làm văn phòng, để ở
Ngõ Nguyễn Thị Định, Cầu Giấy, Hà Nội
3 giờ trước
thỏa thuận
Cho thuê nhà ngõ Cầu Giấy, 300m2 x 6 tầng
69, Cầu Giấy, Hà Nội
3 giờ trước
25 triệu / Tháng
Cho thuê nhà phân lô Nguyễn Thị Định, 60m, 4 tầng
Nguyễn Thị Định, Cầu Giấy, Hà Nội
3 giờ trước
18.5 triệu / Tháng
Cho thuê nhà ngõ 195 Trung Kính
195 trung kính, Cầu Giấy, Hà Nội
3 giờ trước
11 triệu / Tháng
Cho thuê nhà tại Hoàng Ngân, đủ đồ cho người NN
Hoàng Ngân, Thanh Xuân, Hà Nội
3 giờ trước
13 triệu / Tháng
Cho thuê nhà Trung Kính, 56m2 x4 tầng, 13 triệu
143 trung kính, Cầu Giấy, Hà Nội
3 giờ trước
27 triệu / Tháng
Cho thuê biệt thự KĐT Mễ Trì Hạ, 125m2, 3.5 tầng
khu đô thị Mễ Trì Hạ, Từ Liêm, Hà Nội
3 giờ trước
40 triệu
Cho thuê nhà Ngụy Như Kon Tum, 60m2 x 5 tầng, sân vườn 70m2
ngụy như kon tum, Thanh Xuân, Hà Nội
3 giờ trước
25 triệu / Tháng
Cho thuê nhà đủ đồ tại Đỗ Quang, 60m2 x 5 tầng
đỗ quang, Cầu Giấy, Hà Nội
3 giờ trước
16 triệu / Tháng
Cho thuê nhà tại Hoàng Ngân, 5 tầng, đủ đồ, 16 triệu
hoàng ngân, Cầu Giấy, Hà Nội
3 giờ trước
17 triệu / Tháng
Cho thuê nhà liền kề Trung Yên, 17 triệu, đủ đồ
trung yên 9, Cầu Giấy, Hà Nội
3 giờ trước
21 triệu / Tháng
Cho thuê biệt thự Làng Việt Kiều Châu Âu, 150m2 x 3 tầng
làng việt kiều châu âu, Hà Đông, Hà Nội
3 giờ trước
25 triệu / Tháng
Cho thuê biệt thự Nguyễn Thị Định, 25 triệu/tháng.
nguyễn thị định, Cầu Giấy, Hà Nội
3 giờ trước
30 triệu / Tháng
Cho thuê nhà khu Đỗ Quang (Trần Duy Hưng), 45m2 x 6 tầng
Đỗ Quang, Cầu Giấy, Hà Nội
3 giờ trước
45 triệu / Tháng
Cho thuê nhà Mễ Trì Thượng, 130m2 x 7 tầng
mễ trì thượng, Từ Liêm, Hà Nội
Quận huyện
Cho thuê nhà riêng Ba Đình
Cho thuê nhà riêng Cầu Giấy
Cho thuê nhà riêng Đông Anh
Cho thuê nhà riêng Đống Đa
Cho thuê nhà riêng Gia Lâm
Cho thuê nhà riêng Hai Bà Trưng
Cho thuê nhà riêng Hoàn Kiếm
Cho thuê nhà riêng Hoàng Mai
Cho thuê nhà riêng Long Biên
Cho thuê nhà riêng Sóc Sơn
Cho thuê nhà riêng Sơn Tây
Cho thuê nhà riêng Thanh Trì
Cho thuê nhà riêng Tây Hồ
Cho thuê nhà riêng Thanh Xuân
Cho thuê nhà riêng Từ Liêm
Cho thuê nhà riêng Ba Vì
Cho thuê nhà riêng Chương Mỹ
Cho thuê nhà riêng Đan Phượng
Cho thuê nhà riêng Hà Đông
Cho thuê nhà riêng Hoài Đức
Cho thuê nhà riêng Mỹ Đức
Cho thuê nhà riêng Phú Xuyên
Cho thuê nhà riêng Phúc Thọ
Cho thuê nhà riêng Quốc Oai
Cho thuê nhà riêng Thạch Thất
Cho thuê nhà riêng Thanh Oai
Cho thuê nhà riêng Thường Tín
Cho thuê nhà riêng Ứng Hòa
Cho thuê nhà riêng Mê Linh
Tỉnh thành
Cho thuê nhà riêng TP Hồ Chí Minh
Cho thuê nhà riêng Hà Nội
Cho thuê nhà riêng Đà Nẵng
Cho thuê nhà riêng Bình Dương
Cho thuê nhà riêng Đồng Nai
Cho thuê nhà riêng Hải Phòng
Cho thuê nhà riêng Thừa Thiên - Huế
Cho thuê nhà riêng Long An
Cho thuê nhà riêng Cần Thơ
Cho thuê nhà riêng Quảng Nam
Cho thuê nhà riêng Quảng Ngãi
Cho thuê nhà riêng Vĩnh Long
Cho thuê nhà riêng Thái Bình
Cho thuê nhà riêng Ninh Bình
Cho thuê nhà riêng Lào Cai
Danh mục
Phòng trọ Hà Nội
Đất Đồng Nai giá rẻ
Bán nhà Bình Dương
Đất Long An giá rẻ
Bán nhà Sài Gòn
Bán căn hộ chung cư TP Hồ Chí Minh
Bán căn hộ chung cư Hà Nội
Bán căn hộ chung cư Đà Nẵng
Bán căn hộ chung cư Bình Dương
Bán căn hộ chung cư Đồng Nai
Bán căn hộ chung cư Hải Phòng
Bán căn hộ chung cư Thừa Thiên - Huế
Bán căn hộ chung cư Long An
Bán nhà riêng TP Hồ Chí Minh
Bán nhà riêng Hà Nội
Bán nhà riêng Đà Nẵng
Bán nhà riêng Bình Dương
Bán nhà riêng Đồng Nai
Bán nhà riêng Hải Phòng
Bán nhà riêng Thừa Thiên - Huế
Bán nhà riêng Long An
Bán đất TP Hồ Chí Minh
Bán đất Hà Nội
Bán đất Đà Nẵng
Bán đất Bình Dương
Bán đất Đồng Nai
Bán đất Hải Phòng
Bán đất Thừa Thiên - Huế
Bán đất Long An
Cho thuê căn hộ chung cư TP Hồ Chí Minh
Cho thuê căn hộ chung cư Hà Nội
Cho thuê căn hộ chung cư Đà Nẵng
Cho thuê căn hộ chung cư Bình Dương
Cho thuê căn hộ chung cư Đồng Nai
Cho thuê căn hộ chung cư Hải Phòng
Cho thuê căn hộ chung cư Thừa Thiên - Huế
Cho thuê căn hộ chung cư Long An
Cho thuê nhà trọ, phòng trọ TP Hồ Chí Minh
Cho thuê nhà trọ, phòng trọ Hà Nội
Cho thuê nhà trọ, phòng trọ Đà Nẵng
Cho thuê nhà trọ, phòng trọ Bình Dương
Cho thuê nhà trọ, phòng trọ Đồng Nai
Cho thuê nhà trọ, phòng trọ Hải Phòng
Cho thuê nhà trọ, phòng trọ Thừa Thiên - Huế
Cho thuê nhà trọ, phòng trọ Long An
Đã đăng ký với bộ Công Thương. Mã số đăng ký là 2015-0186/ĐK/TMĐT
Quy chế hoạt động
-
Bảo mật thông tin
Công ty TNHH Tư Vấn Giải Pháp và Công Nghệ Quốc Tế
MST: 0310368322 - Email: info@raobannhadat.vn - Điện thoại: 0989 722 522
Địa chỉ:41/1, Phường Trung Mỹ Tây Quận 12, TP Hồ Chí Minh
Hỗ trợ kỹ thuật: Yahoo: nth678 - Skype: nth678 - Email:
thanhhung678@gmail.com
- 0989 722 522 (Thanh Hưng mr)

WARC-Type: response

Content-Type: application/http; msgtype=response

WARC-Truncated: length

Connection: close

Server: LiteSpeed

Pragma: no-cache

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Vary: Accept-Encoding

Content-Type: text/html; charset=UTF-8

Accept-Ranges: bytes


text:
Phân Phối Khoai Tây Chiên Giòn Nhập Khẩu Gía Sỉ Và Lẻ
- Tỉnh/Thành phố: TP HCM
- Quốc gia: Vietnam
- Listed: Tháng Năm 30, 2016 1:19 chiều
- Expires: This ad has expired
Chi tiết
CÔNG TY TNHH SX- TM – DV
IQFoodvn
Văn Phòng: 18B, Đường số 12 – Kp2 – Hiệp Bình Chánh – Thủ Đức – Tp HCM
Cách Cầu Bình Triệu 1 km
Hotline : 0909.077. 354 – 0888.470.009
—————————————————–
Thành Công Của Bạn Chính Là Thành Công Của Chúng Tôi !
Giới Thành phần dinh dưỡng trong Khoai Tây Chiên Giòn
Khoai tây chiên giòn ngon rất giàu chấ dinh dưỡng, nó chứa rất ít chất béo và có một nửa lượng calo so với cơm hoặc mì Nó bao gồm các nước 80%. Hơn nữa, nó rất giàu khoáng chất, vitamin, chất xơ và là nguồn tinh bột, ở dạng carbohydrate phức tạp. Khoai tây chiên giòn ngon có chứa một số lượng lớn vitamin C, vitamin so sánh với chứa trong hầu hết trái cây. Khoai Tây được sản xuất từ Đức và Hà Lan
Sản phẩm đạt tiêu chuẩn hàng đầu Châu Âu với giá cả hợp lý, đảm bảo an toàn thực phẩm.
Khoai Tây Chiên Giòn là món ăn vặt dành cho người lớn và trẻ em đều ưa thích .
Khoai tây chiên giòn và khoai tây lắc phô mai : là món khoái khẩu của các bạn trẻ
Cách làm khoai tây chiên giòn ngon hoặc khoai tây lăc phô mai và bò lúc lắc khoai tây và bò lé rất đơn giản và dễ làm .
Các bà mẹ có thể làm khoai tây chiên giòn ngon tại nhà cho các bé .
Sản phẩm Khoai Tây Chiên Giòn được công ty chúng tôi phân phối cho các điểm:
“Nhà hàng – khách sạn – các khu resot – khu du lịch – vui chơi giải trí – Hệ thống thức ăn nhanh – quán xiên que – bò lé – trà sữa . . . .
Món Ngon Cho Mọi Nhà
Vì vậy Cty IQFOODVN xin giới thiệu tới quý khách hàng các loại Khoai tây sợi Chiên giòn giá sỉ và lẻ giao tận nơi :
Khoai tây Chiên giá sỉ và lẻ loại ¼
Khoai tây chiên giòn giá sỉ lẻ loại ¾
Khoai tây chiên giòn giá sỉ lẻ gợn sóng
Với món khoai tây chiên giòn này chắc hẳn ai cũng một lần thử qua và món ngon này để lại trong lòng người dùng với một cái ấn tượng khó quên khi món ngon này có độ giòn và béo từ miếng khoai tây, khiến bạn phải muốn thử qua lần nữa.
Vì vậy CÔNG TY IQFOODVN cam kết thực phẩm bán ra luôn đạt chất lượng , và giá cả hợp lý trên thị trường hện nay
Hotline : 0888 470 009 – 0909 077 354 .
Xin cảm ơn !
CÔNG TY TNHH – SX – TM – DV IQFOODVN
Địa chỉ : 18B, Đường Số 12, Kp2, P. Hiệp Bình Chánh, Thủ Đức, TP HCM
Hotline : 0909.077.354 – 0888.470.009 – 0909077354 – 0888470009
Email: iqfoodvietnam@gmail.com
http://www.diadiemanuong.net.vn
113 lượt xem, 1 hôm nay
Listing ID: 147574c3dea7043e
Sponsored Links
Xem nhiều nhất trong ngày
- Sức hút từ cây Nho thân gỗ – Nhà vườn Khánh Võ (88 views)
- Bình Dương trả góp Iphone 5S 16G cực dễ, chỉ cần 17K/ngày (70 views)
- Chúc mừng ngày Phụ Nữ Việt Nam 20/10 (66 views)
- k36..ống đúc phi 42 x 3.6ly thép ống đúc phi 42 x 1.8ly thép ống đúc phi 42 x 3ly x 3.2ly (65 views)
- Đào tạo nghiệp vụ văn thư lưu trữ tại Nha Trang, Quy Nhơn, Đà Lạt (48 views)
Danh mục xem nhiều nhất
- GAMING KEYBOARD CHÍNH HÃNG K40 (37445 views)
- Máy Làm đẹp sử dụng công nghệ ION (15441 views)
- Bán tủ quần áo trẻ em gỗ tự nhiên đẹp, giảm giá 7% (825 views)
- Thiết kế gian hàng triển lãm ấn tượng nhờ màu sắc (742 views)
- Than sạch Oxi – sự lựa chọn của người Hà Nội (738 views)
- Than sạch TPHCM – Danh sách đại lý Miền Nam của công ty Than sạch Oxi (698 views)
- Người dân Sài Gòn mua than sạch Oxi ở đâu (679 views)

markdown:
[Phân Phối Khoai Tây Chiên Giòn Nhập Khẩu Gía Sỉ Và Lẻ](http://raovatonline.org/rao-vat/phan-phoi-khoai-tay-chien-gion-nhap-khau-gia-si-va-le/)
- Tỉnh/Thành phố: TP HCM
- Quốc gia: Vietnam
- Listed: Tháng Năm 30, 2016 1:19 chiều
- Expires: This ad has expired
### Chi tiết
*CÔNG TY TNHH SX- TM – DV* *IQFoodvn* *Văn Phòng: 18B, Đường số 12 – Kp2 – Hiệp Bình Chánh – Thủ Đức – Tp HCM* *Cách Cầu Bình Triệu 1 km* *Hotline : * *0909.077. 354 – 0888.470.009* *—————————————————–* **Thành Công Của Bạn Chính Là Thành Công Của Chúng Tôi !** **Giới Thành phần dinh dưỡng trong** **Khoai Tây Chiên Giòn** **Khoai tây chiên giòn**ngon rất giàu chấ dinh dưỡng, nó chứa rất ít chất béo và có một nửa lượng calo so với cơm hoặc mì Nó bao gồm các nước 80%. Hơn nữa, nó rất giàu khoáng chất, vitamin, chất xơ và là nguồn tinh bột, ở dạng carbohydrate phức tạp. **Khoai tây chiên giòn**ngon có chứa một số lượng lớn vitamin C, vitamin so sánh với chứa trong hầu hết trái cây. Khoai Tây được sản xuất từ Đức và Hà Lan
Sản phẩm đạt tiêu chuẩn hàng đầu Châu Âu với giá cả hợp lý, đảm bảo an toàn thực phẩm.
**Khoai Tây Chiên Giòn**là món ăn vặt dành cho người lớn và trẻ em đều ưa thích . **Khoai tây chiên giòn** **và khoai tây lắc phô mai**: là món khoái khẩu của các bạn trẻ **Cách làm khoai tây chiên giòn ngon hoặc khoai tây lăc phô mai và bò lúc lắc khoai tây và bò lé**rất đơn giản và dễ làm .
Các bà mẹ có thể làm
**khoai tây chiên giòn**ngon tại nhà cho các bé . **Sản phẩm Khoai Tây Chiên Giòn được công ty chúng tôi phân phối cho các điểm:** **“Nhà hàng – khách sạn – các khu resot – khu du lịch – vui chơi giải trí – Hệ thống thức ăn nhanh – quán xiên que – bò lé – trà sữa . . . .**
Món Ngon Cho Mọi Nhà
Vì vậy Cty IQFOODVN xin giới thiệu tới quý khách hàng các loại Khoai tây sợi Chiên giòn giá sỉ và lẻ giao tận nơi :
**Khoai tây Chiên giá sỉ và lẻ loại ¼** ![ ](http://www.diadiemanuong.net.vn/upload/images/2016/Th%C3%A1ng%204-%202016/Th%E1%BB%B1c%20Ph%E1%BA%A9m/1.jpg)
![ ](http://www.diadiemanuong.net.vn/upload/images/2016/Th%C3%A1ng%204-%202016/Th%E1%BB%B1c%20Ph%E1%BA%A9m/1.jpg)
**Khoai tây chiên giòn giá sỉ lẻ loại ¾** ![ ](http://www.diadiemanuong.net.vn/upload/images/2016/Th%C3%A1ng%204-%202016/Th%E1%BB%B1c%20Ph%E1%BA%A9m/2(1).jpg)
![ ](http://www.diadiemanuong.net.vn/upload/images/2016/Th%C3%A1ng%204-%202016/Th%E1%BB%B1c%20Ph%E1%BA%A9m/2(1).jpg)
**Khoai tây chiên giòn giá sỉ lẻ gợn sóng** ![ ](http://www.diadiemanuong.net.vn/upload/images/2016/Th%C3%A1ng%204-%202016/Th%E1%BB%B1c%20Ph%E1%BA%A9m/3.jpg)
Với món
**khoai tây chiên giòn**này chắc hẳn ai cũng một lần thử qua và món ngon này để lại trong lòng người dùng với một cái ấn tượng khó quên khi món ngon này có độ giòn và béo từ miếng khoai tây, khiến bạn phải muốn thử qua lần nữa. ![ ](http://www.diadiemanuong.net.vn/upload/images/2016/Th%C3%A1ng%204-%202016/Th%E1%BB%B1c%20Ph%E1%BA%A9m/4(2).jpg)
Vì vậy CÔNG TY IQFOODVN cam kết thực phẩm bán ra luôn đạt chất lượng , và giá cả hợp lý trên thị trường hện nay
**Hotline : 0888 470 009 – 0909 077 354 .**
Xin cảm ơn !
**CÔNG TY TNHH – SX – TM – DV IQFOODVN** **Địa chỉ : 18B, Đường Số 12, Kp2, P. Hiệp Bình Chánh, Thủ Đức, TP HCM** **Hotline : 0909.077.354 – 0888.470.009 ** **– ** **0909077354 – 0888470009**
Email: iqfoodvietnam@gmail.com
[http://www.diadiemanuong.net.vn](http://www.diadiemanuong.net.vn/)
113 lượt xem, 1 hôm nay
**Listing ID:**147574c3dea7043e
## Sponsored Links
## Xem nhiều nhất trong ngày
[Sức hút từ cây Nho thân gỗ – Nhà vườn Khánh Võ](http://raovatonline.org/rao-vat/suc-hut-tu-cay-nho-than-go-nha-vuon-khanh-vo/)(88 views) [Bình Dương trả góp Iphone 5S 16G cực dễ, chỉ cần 17K/ngày](http://raovatonline.org/rao-vat/binh-duong-tra-gop-iphone-5s-16g-cuc-de-chi-can-17kngay/)(70 views) [Chúc mừng ngày Phụ Nữ Việt Nam 20/10](http://raovatonline.org/rao-vat/chuc-mung-ngay-phu-nu-viet-nam-2010/)(66 views) [k36..ống đúc phi 42 x 3.6ly thép ống đúc phi 42 x 1.8ly thép ống đúc phi 42 x 3ly x 3.2ly](http://raovatonline.org/rao-vat/k36-ong-duc-phi-42-x-3-6ly-thep-ong-duc-phi-42-x-1-8ly-thep-ong-duc-phi-42-x-3ly-x-3-2ly/)(65 views) [Đào tạo nghiệp vụ văn thư lưu trữ tại Nha Trang, Quy Nhơn, Đà Lạt](http://raovatonline.org/rao-vat/dao-tao-nghiep-vu-van-thu-luu-tru-tai-nha-trang-quy-nhon-da-lat/)(48 views)
## Danh mục xem nhiều nhất
[GAMING KEYBOARD CHÍNH HÃNG K40](http://raovatonline.org/rao-vat/gaming-keyboard-chinh-hang-k40/)(37445 views) [Máy Làm đẹp sử dụng công nghệ ION](http://raovatonline.org/rao-vat/may-lam-dep-su-dung-cong-nghe-ion/)(15441 views) [Bán tủ quần áo trẻ em gỗ tự nhiên đẹp, giảm giá 7%](http://raovatonline.org/rao-vat/ban-tu-quan-ao-tre-em-go-tu-nhien-dep-giam-gia-7/)(825 views) [Thiết kế gian hàng triển lãm ấn tượng nhờ màu sắc](http://raovatonline.org/rao-vat/thiet-ke-gian-hang-trien-lam-an-tuong-nho-mau-sac/)(742 views) [Than sạch Oxi – sự lựa chọn của người Hà Nội](http://raovatonline.org/rao-vat/than-sach-oxi-su-lua-chon-cua-nguoi-ha-noi/)(738 views) [Than sạch TPHCM – Danh sách đại lý Miền Nam của công ty Than sạch Oxi](http://raovatonline.org/rao-vat/than-sach-tphcm-danh-sach-dai-ly-mien-nam-cua-cong-ty-than-sach-oxi/)(698 views) [Người dân Sài Gòn mua than sạch Oxi ở đâu](http://raovatonline.org/rao-vat/nguoi-dan-sai-gon-mua-than-sach-oxi-o-dau/)(679 views)

Server: Apache

X-UA-Compatible: IE=edge

Link: <http://raovatonline.org/wp-json/>; rel="https://api.w.org/", <http://raovatonline.org/?p=14113>; rel=shortlink


text: rộng rãi chị em phụ nữ sẽ không ngờ rằng, lá chanh lại với những công dụng khiến cho đẹp hiệu quả và dễ thực hành tới vậy. không chỉ là vị thuốc quý chữa bệnh, tăng sức đề kháng cho cơ thể nếu để khiến gia vị trong nấu ăn. Lá chanh còn là thần dược khiến đẹp mà chẳng hề người nào cũng biết. Trị nám sau sinh, khiến cho trắng răng, giúp tóc suôn mượt và đen thiên nhiên là những gì lá chanh sẽ giúp nữ giới dạn dĩ chỉ với các bước thực hành thuần tuý ngay tại nhà.chinh phục vẻ đẹp mang phun môi pha lê Trị nám sau sinh trong lá chanh chứa các tinh chất quý có khả năng tẩy sạch các tế bào sạm nám và đem đến làn da trắng mịn. các vết nám lâu năm mặc dù đã ăn sâu vào các lớp biểu bì của da cũng được đẩy lên và đào thảo ra ngoài theo những bước cực kì đơn giản. Mỗi lần thực hành lấy khoảng một nắm lá chanh, cho vào nồi đun sôi lên lấy nước. Sau ấy, xông mặt khoảng 20 phút cho những tinh chất ngấm đều vào trong da. khi lỗ chân lông giãn nở, tinh chất lá chanh sẽ thẩm thấu vào sâu trong da và đẩy hết những vết nám lên bề mặt và cắt bỏ chúng. thực hiện tuần 2 lần bạn sẽ ko còn lo lắng những vết nám khiến phiền. nếu là nám mảng, lâu năm bạn nên kiên trì thực hành vì sau 3 tháng mới sở hữu kết quả. Còn các nết nám nông, nhỏ thì hiệu quả sẽ thấy ngay những lần đầu tiên. Giúp tóc suôn mượt ko chỉ trị sạch nám mà những tinh dầu và tinh chất sở hữu từ lá chanh còn mang lại chị em nữ giới phương pháp giúp mái tóc bóng mượt và dài đẹp trùng hợp. ngoài ra, lá chanh còn giúp sạch gàu và hết mọi ngứa ngáy. cách thức thực hành rất đơn giản, áp dụng hỗn hợp lá chanh, lá bưởi và hương nhu nấu lên thành nước. Sau ấy áp dụng nước gội đầu, trong công đoạn gội massage da đầu nhẹ nhõm. thực hành đều đăn hàng tuần vừa giúp đầu sạch, tóc dài suôn mượt lại đem lại cho tóc bạn 1 mùi hương dễ chịu.phun môi cần ăn kiêng các gì? Giúp răng trắng, khỏe mạnh Chỉ sở hữu một nắm lá chanh mỗi ngày sẽ giúp cho hàm răng của bạn trắng đều tăm tắp và khỏe mạnh như ý có hơi thở thơm tho. bí quyết thực hành rất đơn giản, áp dụng một nắm lá chanh tươi, nấu cách thức thủy với nước khoáng. Sau đấy sử dụng nước để xúc miệng nếu như ngậm sau lúc ngủ dậy và trước lúc đi ngủ mỗi ngày. Bạn sẽ thấy các vết ố trên răng mau chóng biến mất, hàm răng trắng, chắc khỏe như ý muốn.

Cache-control: private, max-age=0

Server: Apache/2.2.15 (CentOS)

X-Frame-Options: SAMEORIGIN


text: Có khi nào bạn muốn tìm thông tin về 1 smartphone để hiểu về nó mà chỉ toàn thấy thông tin PR, quảng cáo chứ ko có thông tin bạn muốn? Có khi nào đứng trước nhiều loại sản phẩm bạn ko biết nên mua cái nào? Có khi nào bạn muốn xem một bộ phim hay để giải trí mà ko biết làm thế nào? Hoặc người ta khen hay nhưng bản thân bạn ko hứng thú với bộ phim đó, và bạn muốn tìm các phim mà bạn thấy hứng thú? Có khi nào trong tay bạn có smartphone đắt tiền, nhưng vẫn chỉ dùng nghe gọi là chủ yếu. Bạn biết nó có nhiều chức năng hơn thế mà ko biết sử dụng các chức năng đó thế nào? Nếu câu trả lời của bạn là có hãy tìm đến website luonggiaviet.com. Chúng tôi xây dựng website luonggiaviet.com để phân tích thông tin về sản phẩm trên quan điểm của người dùng. Chúng tôi phân tích ưu điểm, nhược điểm của sản phẩm và cả nhu cầu của người dùng. Từ đó giúp bạn ra quyết định dễ dàng hơn trong việc ‘có nên mua’] sản phẩm đó hay ko, giúp bạn sử dụng hết chức năng của sản phẩm với chuyên mục ‘cách sử dụng’. Mỗi người với cá tính và công việc khác nhau sẽ có nhu cầu khác nhau, mỗi sản phẩm với đặc tính khác nhau sẽ thích hợp với những người khác nhau. Chúng tôi phân tích thông tin từ sản phẩm và cả thói quen tiêu dùng để giúp bạn nhận ra sản phẩm nào thích hợp với bạn. Nếu bạn từng xem các bài review, đánh giá trên các web khác mà vẫn chưa ra đc quyết định có nên mua hay sử dụng sản phẩm đó hay ko. Hãy thử tham khảo thông tin trên website luonggiaviet.com. Chúng tôi hân hạnh được phục vụ bạn đọc. Hiện tại có 2 chuyên mục nổi bật đó là mục: đánh giá điện thoại và đánh giá phim Trang web mới xây dựng nên vẫn còn thiếu sót, chúng tôi rất cần sự góp ý của các bạn để chúng tôi có thể phục vụ bạn tốt hơn Luonggiaviet.com – tạp chí đánh giá sản phẩm của người Việt


text:
- Đăng tin ưu tiên
-
Các dịch vụ ưu tiên trên Rồng Bay
-
Ưu đãi cho khách hàng thường xuyên
Sử dụng tài khoản chuyên nghiệp
-
Ðăng tin thu hút khách hàng
Cách viết tiêu đề thân thiện, lôi cuốn khách hàng
-
Rồng bay ra mắt ứng dụng mới cho Người đăng tinTừ App store Từ Google play
-
- Hỏi & đáp
- Hỗ trợ
- Mua quảng cáo
- Đăng ký
- Đăng nhập

markdown:
- Đăng tin ưu tiên
-
__Các dịch vụ ưu tiên trên Rồng Bay__
-
__Ưu đãi cho khách hàng thường xuyên__ [Sử dụng tài khoản chuyên nghiệp](http://rongbay.com/su-dung-tai-khoan-chuyen-nghiep.html)
-
__Ðăng tin thu hút khách hàng__ [Cách viết tiêu đề thân thiện, lôi cuốn khách hàng](http://rongbay.com/Cach-viet-tieu-de-than-thien-loi-cuon-khach-hang-fp39.html)
-
Rồng bay ra mắt ứng dụng mới cho Người đăng tin
[Từ App store](https://itunes.apple.com/us/app/rong-bay-cong-cu-quan-ly-tin/id1099691034?ls=1&mt=8) [Từ Google play](https://play.google.com/store/apps/details?id=vn.vccorp.rongbay)
-
[Hỏi & đáp](http://rongbay.com/faqs.html)
- Hỗ trợ
- Nếu bạn cần hỗ trợ, vui lòng liên hệ
-
Điện thoại : **(04) 73095555**(ext: 497 / 496 / 495) Hotline : **0936 194 226**(Dành cho cá nhân) **0926 863 922**(Dành cho doanh nghiệp) : [lienhe@rongbay.com](mailto:lienhe@rongbay.com) Skype : [cskh.rongbay](skype:cskh.rongbay?chat)
-
[Mua quảng cáo](http://rongbay.com/mua-quang-cao.html) [Đăng ký](javascript:void(0);) [Đăng nhập](javascript:void(0);)

Server: zamba

Set-Cookie: cityOtherRBName=Binh-Thuan; expires=Sun, 22-Oct-2017 05:30:19 GMT; Max-Age=31535999; path=/; domain=.rongbay.com

Cache-Control: private, max-age=0, pre-check=0


text:
Shopsieure.com
Baovatphongthuy.vn
Banve24.com
Hoanggiashop.com
Sakiw.vn
Giỏ hàng
Shopsieure
Điện máy
Đồ công nghệ
Thiết bị số
Phụ kiện
Điện máy gia đình
Điện máy
Quạt, thiết bị làm mát
Thiết bị chiếu sáng
Đồ gia dụng
Đồ dùng nhà bếp
Bếp điện, lẩu điện
Nồi cơm, nồi áp suất
Máy say ép
Ấm điện, phích điện
Xoong, nồi nhà bếp
Đồ gia dụng khác
Dụng cụ chế biến
Đồ dùng gia đình
Thiết bị phòng tắm
Vật dụng tiện ích
Dụng cụ phân tích, thí nghiệm
Nội Thất Gia Đình
Thang Gia Đình
Đồ nội thất, trang trí
Nội Thất Thông Minh
Mỹ phẩm, Làm đẹp
Mỹ phẩm
Mỹ phẩm trang điểm
Hỗ trợ làm đẹp
Làm đẹp
Dụng cụ tập luyên
Dụng cụ chăm sóc tóc
Dụng cụ làm đẹp, trị liệu
Thời Trang
Sức khỏe, Ẩm thực
Chăm sóc sức khỏe
Thuốc, Thực phẩm chức năng
Dụng cụ massage, trị liệu
Thiết bị y tế
Đồ ẩm thực
Thực phẩm sạch
Thực phẩm bà bầu
Đặc sản các vùng
Điểm tâm, bánh ngọt
Mẹ và Bé
Đồ dùng cho bé
Thực phẩm dinh dưỡng
Đồ dùng sơ sinh
Đồ dùng trẻ em
Đồ chơi trẻ em
Đồ chơi điều khiển
Đồ chơi tư duy
Đồ chơi mô hình
Đồ chơi vận động
Quà tặng
Quà tặng độc đáo
Quà tặng độc lạ
Đồ bông, đồ handmade
Đồ Phong Thủy
Linh Vật Phong Thuỷ
Trang sức, đá quý
Quả Cầu Phong Thuỷ
Đồ vật duy tâm
Dịch vụ
Dịch vụ hỗ trợ
Dịch Vụ Phong Thuỷ
Dịch vụ ăn uống
Dịch vụ về rau sạch
Dịch vụ hỗ trợ khác
Sản phẩm nhận Order
Mua hàng giảm giá
máy xay kenwood rẻ nhất
Máy xay sinh tố Kenwood
1,000,000 VND
680,000 VNĐ
SHOPSIEURE.COM
- Giới thiệu
- Quy chế hoạt động
- Chính sách bảo mật
- Chính sách giao nhận
HỖ TRỢ
- Cách thức thanh toán
- Thanh Toán Bằng BITCOIN
- Hướng dẫn mua hàng
- Câu hỏi thường gặp
- Quy định điều kiện đổi, trả hàng
HỢP TÁC
- Hợp tác kinh doanh
- Tuyển dụng
- Liên hệ
CHUYÊN MỤC
- Điện máy
- Đồ gia dụng
- Mỹ phẩm, Làm đẹp
- Sức khỏe, Ẩm thực
- Mẹ và Bé
- Quà tặng
- Dịch vụ
- Bản quyền thuộc
SHOPSIEURE.COM
- Mã số doanh nghiệp: 0106649235
- Địa chỉ: Số 45, Ngõ 116, Đường Nguyễn Xiển, Quận Thanh Xuân, TP Hà Nội.
- Điện thoại:(04)666 35 855
- Email: shopsieurehd@gmail.com

Server: Apache/2.2.26 (CentOS)


text:
-
THÔNG BÁO TUYỂN ADMIN DIỄN ĐÀN 2013
Tìm kiếm nhà trọ - Ở ghép
THÔNG BÁO BÁN ÁO SPKT.NET CHO THÀNH VIÊN DIỄN ĐÀN
HÃY TÌM KIẾM Ở ĐÂY TRƯỚC KHI ĐẶT CÂU HỎI{xen:phrase loading}
Nên học AVan ở Hoa Kỳ hay Plannet?
Thảo luận trong 'Anh văn giao tiếp' bắt đầu bởi kuranh2009, 7 Tháng hai 2012.

markdown:
-
[THÔNG BÁO TUYỂN ADMIN DIỄN ĐÀN 2013](http://spkt.net/threads/thong-bao-tuyen-02-admin-cho-4rum.32345/)
[Tìm kiếm nhà trọ - Ở ghép](http://www.spkt.net/forums/thong-tin-nha-tro.138/)
[THÔNG BÁO BÁN ÁO SPKT.NET CHO THÀNH VIÊN DIỄN ĐÀN](http://spkt.net/threads/thong-bao-ban-ao-dien-dan-spkt-2013.27570/)
**HÃY TÌM KIẾM Ở ĐÂY TRƯỚC KHI ĐẶT CÂU HỎI**{xen:phrase loading}
# Nên học AVan ở Hoa Kỳ hay Plannet?
Thảo luận trong '
[Anh văn giao tiếp](forums/anh-van-giao-tiep.40/)' bắt đầu bởi [kuranh2009](members/kuranh2009.12142/), [7 Tháng hai 2012](threads/nen-hoc-avan-o-hoa-ky-hay-plannet.20037/).

Vary: Accept-Encoding,User-Agent


text:
- Hoạt động cuối:
- 23/6/14
- Tham gia ngày:
- 23/6/14
- Bài viết:
- 0
- Đã được thích:
- 0
- Điểm thành tích:
- 0
- Sinh nhật:
- 29/5/91 (Tuổi: 25)
Bé Gemi
New Member, 25
- Bé Gemi được nhìn thấy lần cuối:
- 23/6/14
-
- Đang tải...
-
Giới thiệu
- Sinh nhật:
- 29/5/91 (Tuổi: 25)
Tương tác

markdown:
![ Bé Gemi](http://svnhforum.com/forum/styles/banh/xenforo/avatars/avatar_l.png)
- Hoạt động cuối:
- 23/6/14
- Tham gia ngày:
- 23/6/14
- Bài viết:
- 0
- Đã được thích:
- 0
- Điểm thành tích:
[0](members/be-gemi.95188/trophies)
- Sinh nhật:
- 29/5/91 (Tuổi: 25)
# Bé Gemi
New Member, 25
- Bé Gemi được nhìn thấy lần cuối:
- 23/6/14
-
- Đang tải...
-
### Giới thiệu
- Sinh nhật:
- 29/5/91 (Tuổi: 25)
### Tương tác

Server: nginx

Vietnix-Cache: HIT from Backend


text:
Diễn đàn chính thức sinh viên Học viện Ngân Hàng
Trang chủ
Thành viên
>
dtsang174
>
Hoạt động cuối:
6/12/11
Tham gia ngày:
6/12/11
Bài viết:
0
Đã được thích:
0
Điểm thành tích:
0
dtsang174
New Member
dtsang174 được nhìn thấy lần cuối:
6/12/11
Tin nhắn hồ sơ
Các bài đăng
Thông tin
Hiện tại không có tin nhắn trong hồ sơ của dtsang174.
Show Ignored Content
Đang tải...
Xem
Tương tác
Nội dung:
Tìm tất cả nội dung bởi dtsang174
Tìm tất cả chủ đề bởi dtsang174
Đăng nhập bằng Facebook
Đăng nhập bằng Google
Tên tài khoản hoặc địa chỉ Email:
Bạn đã có tài khoản rồi?
Tích vào đây để đăng ký
Vâng, Mật khẩu của tôi là:
Bạn đã quên mật khẩu?
Duy trì đăng nhập
Diễn đàn chính thức sinh viên Học viện Ngân Hàng
Trang chủ
Thành viên
>
dtsang174
>
Trang chủ
Diễn đàn
Video
Video
Liên kết nhanh
Video ngẫu nhiên
Video
Playlists
Diễn đàn học tập
ĐĂNG NHẬP | ĐĂNG KÝ
Diễn đàn
Liên kết nhanh
Tìm kiếm diễn đàn
Watched Tags
Bài viết gần đây
Menu


text:
Diễn đàn chính thức sinh viên Học viện Ngân Hàng
Trang chủ
Thành viên
>
tmyduyen
>
Hoạt động cuối:
8/6/11
Tham gia ngày:
8/6/11
Bài viết:
0
Đã được thích:
0
Điểm thành tích:
0
tmyduyen
New Member
tmyduyen được nhìn thấy lần cuối:
8/6/11
Tin nhắn hồ sơ
Các bài đăng
Thông tin
Hiện tại không có tin nhắn trong hồ sơ của tmyduyen.
Show Ignored Content
Đang tải...
Xem
Tương tác
Nội dung:
Tìm tất cả nội dung bởi tmyduyen
Tìm tất cả chủ đề bởi tmyduyen
Đăng nhập bằng Facebook
Đăng nhập bằng Google
Tên tài khoản hoặc địa chỉ Email:
Bạn đã có tài khoản rồi?
Tích vào đây để đăng ký
Vâng, Mật khẩu của tôi là:
Bạn đã quên mật khẩu?
Duy trì đăng nhập
Diễn đàn chính thức sinh viên Học viện Ngân Hàng
Trang chủ
Thành viên
>
tmyduyen
>
Trang chủ
Diễn đàn
Video
Video
Liên kết nhanh
Video ngẫu nhiên
Video
Playlists
Diễn đàn học tập
ĐĂNG NHẬP | ĐĂNG KÝ
Diễn đàn
Liên kết nhanh
Tìm kiếm diễn đàn
Watched Tags
Bài viết gần đây
Menu


text:
Diễn đàn chính thức sinh viên Học viện Ngân Hàng
Trang chủ
Thành viên
>
tuyen06kt9
>
Hoạt động cuối:
30/8/11
Tham gia ngày:
30/8/11
Bài viết:
0
Đã được thích:
0
Điểm thành tích:
0
tuyen06kt9
New Member
tuyen06kt9 được nhìn thấy lần cuối:
30/8/11
Tin nhắn hồ sơ
Các bài đăng
Thông tin
Hiện tại không có tin nhắn trong hồ sơ của tuyen06kt9.
Show Ignored Content
Đang tải...
Xem
Tương tác
Nội dung:
Tìm tất cả nội dung bởi tuyen06kt9
Tìm tất cả chủ đề bởi tuyen06kt9
Đăng nhập bằng Facebook
Đăng nhập bằng Google
Tên tài khoản hoặc địa chỉ Email:
Bạn đã có tài khoản rồi?
Tích vào đây để đăng ký
Vâng, Mật khẩu của tôi là:
Bạn đã quên mật khẩu?
Duy trì đăng nhập
Diễn đàn chính thức sinh viên Học viện Ngân Hàng
Trang chủ
Thành viên
>
tuyen06kt9
>
Trang chủ
Diễn đàn
Video
Video
Liên kết nhanh
Video ngẫu nhiên
Video
Playlists
Diễn đàn học tập
ĐĂNG NHẬP | ĐĂNG KÝ
Diễn đàn
Liên kết nhanh
Tìm kiếm diễn đàn
Watched Tags
Bài viết gần đây
Menu


text: Giá máy phun sương quận phú nhuận/// 0932 784 636 Giá máy phun sương quận phú nhuận/// 0932 784 636 Giá máy phun sương quận phú nhuận/// 0932 784 636 Trong quá trình công nghiệp hóa, hiện đại hóa đất nước, nhu cầu của người dân ngày càng tăng lên, máy móc không ngừng hoạt động và phát triển trong số đó phải nói đến máy phun sương...Thời gian trước thì rất ít người biết đến nhưng trong thời gian gần đây thì máy phun sương đang ngày càng phát triển rầm rộ nhất là ở khu vực TPHCM. Máy phun sương được lắp nhiều nhất là những nơi như quán cafe, nhà hàng, quán nhậu, làm mát mái tôn... để đáp ứng nhu cầu ngày càng cao của khách hàng HỆ THỐNG PHUN SƯƠNG ĐẠI PHÁT đã không ngày có nhiều bước cải tiến đáng kể từ khâu chăm sóc khách hàng đến khâu lắp ráp và hoàn thiện sản phẩm.Vì ĐẠI PHÁT là nơi trực tiếp lắp ráp nên giá thành cực kỳ rẻ so với các đơn vị khác. Nếu quý khách hàng đang có ý định lắp máy phun sương thì hãy đến với ĐẠI PHÁT để được hưởng ưu đãi tốt nhất. Liên hệ: 0932 784 636 - 0978 12 69 13 Đại Phát Giá rẻ - Lắp nhanh - Uy Tín - Chất lượng - Bảo hành. Địa chỉ:115/9 Lê Văn Sĩ - Quận Phú Nhuận -TPHCM


text:
Giới thiệu về Phòng Tài chính - Kế hoạch huyện Cư Jút
1. Vị trí - chức năng: Điều 1. Phòng Tài chính Kế hoạch huyện Cư Jút là cơ quan chuyên môn thuộc UBND huyện Cư Jút có chức năng tham mưu, giúp UBND huyện thực hiện chức năng quản lý Nhà nước về lĩnh vực tài chính, tài sản, quản lý Nhà nước về kế hoạch và đầu tư; đăng ký kinh doanh; tổng...

markdown:
[Giới thiệu về Phòng Tài chính - Kế hoạch huyện Cư Jút](/index.php?language=vi&nv=about&op=Gioi-thieu-ve-Phong-Tai-chinh-Ke-hoach-huyen-Cu-Jut)
1. Vị trí - chức năng: Điều 1. Phòng Tài chính Kế hoạch huyện Cư Jút là cơ quan chuyên môn thuộc UBND huyện Cư Jút có chức năng tham mưu, giúp UBND huyện thực hiện chức năng quản lý Nhà nước về lĩnh vực tài chính, tài sản, quản lý Nhà nước về kế hoạch và đầu tư; đăng ký kinh doanh; tổng...

Content-Language: vi

Set-Cookie: nv3c_Bvsro_sess=7f6a63412741a5b2c102226f71b28c97911690094; path=/; domain=.taichinhcujut.daknong.gov.vn; HttpOnly

Cache-Control: private, pre-check=0, post-check=0, max-age=0

Content-Type: text/html; charset=utf-8


text: acquyglobal: Thảo luận Tự bảo dưỡng ắc quy ô tô Dưới đây là bài viết về cách tự bảo dưỡng ắc quy ô tô cực kỳ hay. Mời các bạn tham khảo: Hướng dẫn tự tay bảo dưỡng ắc quy ô tô Thảo luận Tự bảo dưỡng ắc quy ô tô

Server: Nginx-VPSSIM


text:
Assembly part 7
Chia sẻ: Dqdsadasd Qwdasdsad | Ngày: | Loại File: PDF | Số trang:3
44
lượt xem 6
download
lượt xem 6
download
Assembly part 7
Mô tả tài liệu
Download Vui lòng tải xuống để xem tài liệu đầy đủ
Cấu hình Các thành phần COM dùng registry để định hình các thành phần. Cấu hình của các ứng dụng .NET được thực hiện khi sử dụng các tập tin cấu hình. Với đăng ký cấu hình xcopy-deployment không thể thực hiện được.
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
CÓ THỂ BẠN MUỐN DOWNLOAD

markdown:
# Assembly part 7
Chia sẻ: Dqdsadasd Qwdasdsad | Ngày: | Loại File: PDF | Số trang:3
44
lượt xem 6
download
lượt xem 6
download
![](http://image.tlvnimg.com/document/thumbnail/2010/20100815/sieukidvn/80x100/assemblies_6__4935.jpg)
##
Assembly part 7
Mô tả tài liệu
[Vui lòng tải xuống để xem tài liệu đầy đủ](javascript:void(0);)
Download
![](images/down16x21.png)
Cấu hình Các thành phần COM dùng registry để định hình các thành phần. Cấu hình của các ứng dụng .NET được thực hiện khi sử dụng các tập tin cấu hình. Với đăng ký cấu hình xcopy-deployment không thể thực hiện được.
Chủ đề:
Bình luận(0)
[Đăng nhập để gửi bình luận!](javascript:void(0);)
CÓ THỂ BẠN MUỐN DOWNLOAD

Set-Cookie: TLDEVNamespace=a7tr51qqfrfo8fvticfmjjqoe3; path=/; domain=.tailieu.vn; HttpOnly

Server: Apache/2.2.31 (CentOS)


text:
Công văn số 1679/TCT/TNCN của Tổng cục Thuế
Chia sẻ: Hua Thao | Ngày: | Loại File: PDF | Số trang:1
57
lượt xem 1
download
lượt xem 1
download
Công văn số 1679/TCT/TNCN của Tổng cục Thuế
Mô tả tài liệu
Download Vui lòng tải xuống để xem tài liệu đầy đủ
Công văn số 1679/TCT/TNCN của Tổng cục Thuế về việc nộp thuế TNCN
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
CÓ THỂ BẠN MUỐN DOWNLOAD

markdown:
# Công văn số 1679/TCT/TNCN của Tổng cục Thuế
Chia sẻ: Hua Thao | Ngày: | Loại File: PDF | Số trang:1
57
lượt xem 1
download
lượt xem 1
download
![](http://image.tlvnimg.com/document/thumbnail/2009/20090816/huathao/80x100/05301115.jpg)
##
Công văn số 1679/TCT/TNCN của Tổng cục Thuế
Mô tả tài liệu
[Vui lòng tải xuống để xem tài liệu đầy đủ](javascript:void(0);)
Download
![](images/down16x21.png)
Công văn số 1679/TCT/TNCN của Tổng cục Thuế về việc nộp thuế TNCN
Chủ đề:
Bình luận(0)
[Đăng nhập để gửi bình luận!](javascript:void(0);)
CÓ THỂ BẠN MUỐN DOWNLOAD

Set-Cookie: TLDEVNamespace=f9bpa5clksojdomp0te1io5kn0; path=/; domain=.tailieu.vn; HttpOnly


text:
Giáo trình: Lập trình ASP. net
Chia sẻ: Trần Huệ Mẫn | Ngày: | Loại File: PDF | Số trang:0
lượt xem 313
download
Giáo trình: Lập trình ASP. net
Qua chương này, bạn sẽ tạo được một sổ nhật ký trực tuyến (online diary) và trình quản lý danh bạ liên lạc (contacts manager). Vậy chính xác thì sổ nhật ký trực tuyến và trình quản lý danh bạ liên lạc làm được việc gì? Sử dụng một giao diện dựa trên lịch biểu, bạn có thể thêm, xóa, và chỉnh sửa một mục nhật ký cho bất kỳ ngày nào. Bạn cũng có thể tạo các sự kiện, chẳng hạn như ghi nhớ ngày sinh của một người nào đó. Các sự kiện không chỉ là ngày sinh mà còn có thể là...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Giáo trình: Lập trình ASP. net
- Giáo trình Lập trình ASP. net
- Chương 1: ONLINE DIARY 1 S Ổ N H Ậ T K Ý T R Ự C T U Y Ế N
- 19 Chương 1: Online Diary Q ua chương này, bạn sẽ tạo được một sổ nhật ký trực tuyến (online diary) và trình quản lý danh bạ liên lạc (contacts manager). Vậy chính xác thì sổ nhật ký trực tuyến và trình quản lý danh bạ liên lạc làm được việc gì? Sử dụng một giao diện dựa trên lịch biểu, bạn có thể thêm, xóa, và chỉnh sửa một mục nhật ký cho bất kỳ ngày nào. Bạn cũng có thể tạo các sự kiện, chẳng hạn như ghi nhớ ngày sinh của một người nào đó. Các sự kiện không chỉ là ngày sinh mà còn có thể là các cuộc họp, cuộc hẹn,… Hệ thống này có một hệ thống đăng nhập (gồm tên người dùng và mật khẩu), để chỉ có bạn (chứ không ai khác) mới có thể xem nhật ký của bạn. Đây là điểm khác biệt so với blog. Hệ thống này là một trình quản lý danh bạ liên lạc và nhật ký cá nhân—là nơi đặt những suy nghĩ và những ghi chú mà bạn không muốn mọi người nhìn thấy. Còn blog là nơi bạn muốn tất cả mọi người nhìn thấy. Toàn bộ dự án này cho thấy sức mạnh của ASP.NET 2.0 và dễ dàng tạo nên các dự án thế này. Đã qua rồi cái thời phải viết hàng trăm dòng mã để thực hiện đăng nhập, tạo người dùng mới,... Chương này tận dụng các thành phần bảo mật mới của ASP.NET 2.0 nhằm cho bạn thấy rằng rất dễ dàng tạo nên các dự án hữu ích và thú vị. Phần đầu tiên sẽ hướng bạn sử dụng sổ nhật ký và các màn hình chính của nó. Phần tiếp theo cho bạn cái nhìn tổng quan về thiết kế hệ thống. Sau đó, bạn bước vào các thành phần của hệ thống, cũng như cách kết hợp chúng với nhau. Trong phần cuối cùng, bạn sẽ cài đặt sổ nhật ký. 1.1 Sử dụng Online Diary Mỗi người dùng có một sổ nhật ký trực tuyến riêng, để truy cập cần phải đăng nhập. Nhập tên người dùng là demo với mật khẩu là password# để đăng nhập làm người dùng thử. Màn hình đăng nhập được thể hiện trong hình 1-1. Hình 1-1 Mặc dù màn hình này có thể gợi cho bạn nhiều điều kiểm và nhiều mã lệnh tạo nên chức năng bảo mật, thật ra với các điều kiểm bảo mật mới trong ASP.NET 2.0 thì mọi việc trở nên rất dễ dàng và chẳng có nhiều việc để làm.
- 20 Chương 1: Online Diary Nếu bạn chưa đăng ký, liên kết Bạn chưa có tài khoản? Nhắp vào đây để đăng ký! sẽ đưa bạn đến trang đăng ký, được mô tả trong hình 1-2. Hình 1-2 Hình này cho thấy một điều kiểm khác nữa trong số các điều kiểm bảo mật mới trong ASP.NET 2.0; việc tạo một quy trình đăng ký giờ đây chỉ là thêm một điều kiểm vào một form! Nếu quên mật khẩu, bạn có thể nhắp vào liên kết Bạn quên mật khẩu?, và bạn sẽ được dẫn đến trang nhắc mật khẩu (xem hình 1-3). Hình 1-3 Sau khi đăng nhập, bạn đến trang nhật ký chính, được hiển thị trong hình 1-4. Trên trang này, bạn thấy một lịch biểu theo tháng. Các ngày có các mục nhật ký được đánh dấu bằng nền màu xanh. Các ngày có các sự kiện được đánh dấu bằng chữ màu đỏ. Cũng để ý rằng, phía bên phải là các sự kiện sắp tới và các mục nhật ký gần đây. Nhắp vào một ngày sẽ đưa bạn đến vùng nhập mục nhật ký cho ngày hôm đó; và thêm, sửa, xóa các sự kiện (xem hình 1-5) Bạn cũng có thể điều hướng sổ nhật ký của mình từ đây bằng một lịch biểu nhỏ bên phải. Thêm một mục nhật ký bằng cách nhập vào hộp Tiêu đề và hộp Nội dung, sau đó nhắp nút Lưu nhật ký.
- 21 Chương 1: Online Diary Hình 1-4 Hình 1-5 Các sự kiện diễn ra vào một ngày cụ thể được liệt kê ở góc dưới hình 1-5. Bạn có thể chỉnh sửa và xóa các sự kiện, hoặc nhắp vào liên kết Thêm sự kiện mới để thêm một sự kiện mới. Các trang sửa và thêm sự kiện gần như giống nhau. Hình 1-6 là một ví dụ của trang sửa sự kiện. Trong trang sửa sự kiện, bạn có thể nhập tên sự kiện, mô tả ngắn về sự kiện, thời gian bắt đầu sự kiện, và sự kiện kéo dài trong bao lâu.
- 22 Chương 1: Online Diary Hình 1-6 Trở lại trang nhật ký chính (hình 1-4), bạn sẽ thấy liên kết Quản lý danh bạ liên lạc (xem hình 1-7). Hình 1-7 Nhắp vào liên kết này, bạn sẽ được dẫn đến trang quản lý sổ liên lạc (xem hình 1-8). Hình 1-8
- 23 Chương 1: Online Diary Tại đây, bạn sẽ thấy danh sách các liên lạc. Bạn có thể chỉnh sửa và xóa liên lạc bằng cách nhắp vào liên kết phù hợp. Bạn cũng có thể thêm một liên lạc mới bằng cách nhắp vào liên kết Thêm liên lạc mới, liên kết này sẽ dẫn bạn đến trang thêm liên lạc (xem hình 1-9). Hình 1-9 Hiện tại, chức năng danh bạ liên lạc khá đơn giản, không có các chức năng như liên kết các sự kiện và các cá nhân, tự động gửi mail đến các cá nhân trong danh bạ liên lạc để nhắc họ về một sự kiện. Bạn đã thấy những gì Online Diary làm được, bây giờ bạn có thể xem nó “đã làm điều đó như thế nào” (câu nói quen thuộc của một chương trình truyền hình)! Phần kế tiếp mô tả bản thiết kế tổng quan và hệ thống gắn kết với nhau như thế nào. Bạn sẽ tìm hiểu cơ sở dữ liệu và các lớp mà hệ thống sử dụng. 1.2 Thiết kế Online Diary Hệ thống nhật ký được chia thành kiến trúc ba tầng. Tất cả dữ liệu và mã lệnh hiệu chỉnh dữ liệu trực tiếp nằm trong tầng truy xuất dữ liệu—sự kết hợp của các bảng cơ sở dữ liệu và các thủ tục tồn trữ. Phía trên tầng truy xuất dữ liệu là tầng nghiệp vụ, tầng này cung cấp tất cả các quy tắc và tính thông minh của hệ thống. Tầng nghiệp vụ được tổ chức thành bảy lớp. Được thảo luận sau cùng là tầng trình bày. Tầng này bao gồm một số file .aspx, sử dụng tầng nghiệp vụ và tầng truy xuất dữ liệu để tạo giao diện của nhật ký. 1.2.1 Tầng truy xuất dữ liệu Online Diary sử dụng cơ sở dữ liệu SQL Server 2005 Express. Tuy nhiên, không có lý do gì không thể thay đổi cơ sở dữ liệu khác. Nếu cơ sở dữ liệu hỗ trợ thủ tục tồn trữ thì theo lý thuyết, cần thay đổi chuỗi kết nối và tạo những thủ tục tồn trữ tương ứng với những thủ tục tồn trữ hiện có trong cơ sở dữ liệu SQL Server. Nếu cơ sở dữ liệu không hỗ trợ thủ tục tồn trữ (chẳng hạn, MS Access) thì thay đổi mã lệnh là cần thiết nhưng không khó.
- 24 Chương 1: Online Diary Hình 1-10 mô tả các bảng trong cơ sở dữ liệu Online Diary (DiaryDB). Hình 1-10 Cơ sở dữ liệu mặc định được tạo bằng các tính năng membership của ASP.NET 2.0 cũng được sử dụng. Để nối kết việc đăng nhập và các chi tiết nhật ký, trường UserName trong cơ sở dữ liệu DiaryDB phải lấy giá trị gốc của nó từ cơ sở dữ liệu membership. Các chi tiết về membership nằm trong cơ sở dữ liệu ASPNETDB mà Visual Web Developer Express tạo cho bạn. Mặc dù nó chỉ có một vài bảng, bạn không bao giờ truy xuất chúng thông qua mã lệnh. Nó được truy xuất bởi các điều kiểm Login mới—toàn bộ công việc được thực hiện phía hậu trường! Dự án này chỉ sử dụng bảng aspnet_Users (xem hình 1-11) để đăng nhập và cung cấp tên người dùng cho DiaryDB. Bạn có thể mở rộng cơ sở dữ liệu membership để thêm các chức năng khác như xác định sự trải nghiệm của người dùng hoặc quy định các cấp độ membership khác nhau (admin, user, operator). Hình 1-11
- 25 Chương 1: Online Diary Các bảng của cơ sở dữ liệu Online Diary và vai trò của chúng được liệt kê trong bảng sau: Tên bảng Mô tả Diary Chứa thông tin chi tiết của tất cả người dùng, gồm ID và tên của họ. DiaryEntry Chứa tất cả mục nhật ký của tất cả người dùng. DiaryEvent Chứa tất cả sự kiện nhật ký của tất cả người dùng Contact Chứa thông tin chi tiết của tất cả liên lạc cho các sổ nhật ký. Khóa liên kết tất cả các bảng với nhau là trường DiaryId. Nó là khóa chính trong bảng Diary và là khóa ngoại trong tất cả các bảng khác. Tại sao không sử dụng trường UserName? Về cơ bản là tốc độ—sẽ dễ và nhanh hơn khi kết bảng và tìm kiếm trên một trường kiểu số nguyên so với các trường kiểu ký tự. Mọi truy xuất đến cơ sở dữ liệu đều thông qua thủ tục tồn trữ. Xét thủ tục tồn trữ sau: DeleteContact DeleteContact xóa một liên lạc khỏi cơ sở dữ liệu. Tên của mỗi thủ tục tồn trữ đã thể hiện mục đích của thủ tục tồn trữ đó nên không cần giải thích nhiều. Khi thảo luận về mã lệnh, bạn sẽ xem xét các thủ tục tồn trữ kỹ hơn. 1.2.2 Tầng nghiệp vụ Tầng nghiệp vụ được tổ chức thành bảy lớp. Trong đó, bốn lớp chính là: • OnlineDiary • DiaryEntry • DiaryEvent • Contact Các lớp này thực hiện hầu hết công việc giữ dữ liệu nhật ký tạm thời, thu lấy và lưu nó vào cơ sở dữ liệu. Lớp đầu tiên được thảo luận là OnlineDiary. ❑ Lớp OnlineDiary Lớp này chỉ có hai phương thức công khai chia sẻ, được mô tả chi tiết trong bảng sau: Phương thức Kiểu trả về Mô tả Thêm một người dùng mới InsertDiary(ByVal UserName As String, ByVal FirstName As String, LastName As String) không vào cơ sở dữ liệu Online Diary. Tìm kiếm UserName trong cơ GetDiaryIdFromUserName(ByVal UserName As String) Integer sở dữ liệu và trả về DiaryId tương ứng. Mục đích của lớp OnlineDiary là cung cấp hai phương thức chia sẻ liên quan đến một nhật ký trực tuyến. Nó cũng có thể được sử dụng để mở rộng hệ thống nhật ký và thêm các chức năng mới vào hệ thống, không chỉ là một phần cụ thể như danh bạ liên lạc. ❑ Lớp Contact
- 26 Chương 1: Online Diary Lớp Contact thể hiện hóa một liên lạc—một người hay một thứ gì đó mà bạn muốn lưu thông tin liên lạc. Nó đóng gói mọi thứ để làm việc với các liên lạc, bao gồm lưu trữ và thu lấy thông tin liên lạc trong cơ sở dữ liệu. Nó có hai phương thức khởi dựng, được mô tả trong bảng sau: Phương thức khởi dựng Mô tả Tạo một đối tượng Contact mới với tất cả các thuộc New(ByVal Diaryid as Integer) tính được gán bằng các giá trị mặc định. Tạo một đối tượng Contact mới với các thuộc tính New(ByVal ContactId As Long) được lấy từ cơ sở dữ liệu bằng đối số ContactId. Với một đối tượng Contact đã được tạo, việc lưu nó chỉ đơn giản là gọi phương thức Save(). Lớp này sẽ xem xét đó có phải một liên lạc mới cần được chèn vào cơ sở dữ liệu hay không, hay là một liên lạc đã tồn tại cần được cập nhật. Ngoài phương thức Save(), lớp Contact còn có hai phương thức Delete() và hai phương thức GetContacts(), chúng được mô tả trong bảng sau: Phương thức Kiểu trả về Mô tả Lưu một đối tượng Contact đã có đầy đủ dữ liệu. Nếu nó là một liên lạc mới, Save() gọi thủ tục InsertNewContact và các chi tiết của liên lạc được chèn vào cơ sở dữ liệu. ContactId Save() không mới được trả về từ cơ sở dữ liệu và được gán cho mContactId. Nếu liên lạc này đã tồn tại trong cơ sở dữ liệu, Save() gọi UpdateContact để cập nhật cơ sở dữ liệu với các giá trị trong đối tượng Contact. Xóa đối tượng Contact khỏi cơ sở dữ liệu với ContactId bằng với mContactId của DeleteContact() không đối tượng Contact. Các giá trị của đối tượng Contact được khởi tạo lại bằng các giá trị mặc định. Phương thức chia sẻ này xóa đối tượng Contact khỏi DeleteContact(ByVal ContactId As Long) không cơ sở dữ liệu với giá trị ContactId bằng với đối số ContactId của phương thức.
- 27 Chương 1: Online Diary Phương thức chia sẻ này trả về một đối tượng SqlDataReader gồm một danh sách các liên lạc mà chữ cái đầu tiên trong phần GetContactsByFirstLetter(ByVal DiaryId họ trùng với đối số As Integer,Optional ByVal SqlDataReader FirstLetterOfSurname. Đối FirstLetterOfSurname As Char) số này là tùy chọn; nếu để trống, tất cả các đối tượng Contact bất chấp chữ cái đầu tiên của phần họ sẽ có mặt trong các hàng của DataSet. Phương thức chia sẻ này trả về một đối tượng ContactCollection gồm các đối tượng Contact mà chữ cái đầu tiên trong phần họ GetContactsByFirstLetterAsCollection trùng với đối số (ByVal DiaryId As Integer,Optional ContactCollection FirstLetterOfSurname. Đối ByVal FirstLetterOfSurname As Char) số này là tùy chọn; nếu để trống, tất cả các đối tượng Contact bất chấp chữ cái đầu tiên của phần họ sẽ có mặt trong các hàng của DataSet. Lớp Contact chứa các thuộc tính sau: Thuộc tính Kiểu Mô tả Mỗi liên lạc được đại diện bởi một ID duy nhất. ID ContactId Long này được sinh tự động bởi bảng Contact trong cơ sở dữ liệu mỗi khi một liên lạc mới được thêm vào. FirstName String Tên. LastName String Họ (và chữ lót). Email String Địa chỉ e-mail. Telephone String Số điện thoại cố định. MobilePhone String Số điện thoại di động. AddressLine1 String Địa chỉ nhà. City String Tên tỉnh thành.
- 28 Chương 1: Online Diary State String Tên quốc gia. PostalCode String Mã vùng. ❑ Lớp ContactCollection Lớp ContactCollection kế thừa từ lớp System.Collections.CollectionBase. Mục đích của lớp ContactCollection là lưu trữ một tập hợp các đối tượng Contact. Lớp ContactCollection chỉ có một thuộc tính duy nhất: Thuộc tính Kiểu Mô tả Trả về đối tượng Contact tại vị trí Index trong tập Item(ByVal Index As Integer) Integer hợp. Các phương thức công khai của lớp ContactCollection được mô tả trong bảng sau: Phương thức Kiểu trả về Mô tả Add(ByVal NewContact As Thêm một đối tượng Contact vào tập hợp Contact) không ContactCollection. Tạo một đối tượng Contact mới. ContactId được truyền cho phương thức khởi dựng Add(ByVal ContactId As của đối tượng Contact để đảm bảo có được Long) không các chi tiết của liên lạc từ cơ sở dữ liệu. Sau đó, đối tượng Contact mới được thêm vào tập hợp ContactCollection. Remove(ByVal Index as Loại bỏ đối tượng Contact khỏi tập hợp tại Integer) không vị trí Index. Đó là các lớp làm việc với danh bạ liên lạc; bây giờ xét đến hai lớp làm việc với các mục nhật ký. ❑ Lớp DiaryEntry Lớp DiaryEntry thể hiện hóa một mục trong nhật ký. Nó đóng gói mọi thứ để làm việc với các mục nhật ký, bao gồm: tạo, cập nhật, và thu lấy dữ liệu của mục nhật ký. Nó thụ lý mọi truy xuất cơ sở dữ liệu cho các mục nhật ký. Nó có ba phương thức khởi dựng, được mô tả trong bảng sau: Phương thức khởi dựng Mô tả Tạo một đối tượng DiaryEntry mới với tất cả các New(ByVal DiaryId as Integer) thuộc tính được gán bằng các giá trị mặc định. Tạo một đối tượng DiaryEntry mới với các thuộc New(ByVal DiaryEntryId As Long) tính được lấy từ cơ sở dữ liệu bằng đối số DiaryEntryId. Tạo một đối tượng DiaryEntry mới với các thuộc New(ByVal DiaryId AS Integer, ByVal EntryDate As Date) tính được lấy từ cơ sở dữ liệu bằng đối số DiaryId và EntryDate.
- 29 Chương 1: Online Diary Với một đối tượng DiaryEntry đã được tạo, chỉ việc gọi phương thức Save() để lưu nó. Giống như phương thức Save() của lớp Contact, lớp DiaryEntry sẽ xét đó có phải một mục nhật ký mới cần được chèn vào cơ sở dữ liệu, hay là một mục nhật ký đã tồn tại cần được cập nhật. Cũng như cho phép lấy các chi tiết của một mục nhật ký, lớp DiaryEntry cung cấp thêm các phương thức để lấy các chi tiết của một số mục nhật ký ở dạng một tập hợp hoặc một sqlDataReader. Các phương thức của lớp này được mô tả trong bảng sau: Phương thức Kiểu trả về Mô tả Lưu một đối tượng DiaryEntry đã có đầy đủ dữ liệu. Nếu nó là một mục mới, Save() gọi thủ tục InsertNewDiaryEntry và các chi tiết mục nhật ký được chèn vào cơ sở dữ liệu. Save() không DiaryEntryId mới được trả về từ cơ sở dữ liệu và được gán cho mDiaryEntryId. Nếu mục nhật ký này đã tồn tại trong cơ sở dữ liệu, Save() gọi UpdateContact để cập nhật cơ sở dữ liệu với các giá trị trong đối tượng DiaryEntry. Phương thức chia sẻ này trả về một mảng Boolean cho biết GetDaysInMonthWithEntries( những ngày nào có mục nhật ByVal DiaryId As Integer, ByVal Month As Integer, Mảng Boolean ký. Chỉ số mảng ứng với ByVal Year As Integer) ngày trong tháng (ví dụ: 1 là ngày thứ nhất, 2 là ngày thứ hai,…). Phương thức chia sẻ này trả GetDiaryEntriesByDate( về một đối tượng ByVal DiaryId As Integer, SqlDataReader SqlDataReader gồm các mục ByVal FromDate As Date, ByVal ToDate As Date) nhật ký nằm giữa đối số FromDate và ToDate. Tạo một đối tượng GetDiaryEntriesByDateAsCollection( DiaryEntryCollection gồm các ByVal DiaryId As Integer, ByVal FromDate As Date, DiaryEntryCollection đối tượng DiaryEntry có ByVal ToDate As Date) EntryDate nằm giữa đối số FromDate và ToDate. Trả về một SqlDataReader GetDiaryEntriesRecentlyChanged( ByVal DiaryId As Integer) SqlDataReader gồm các mục nhật ký được tạo gần đây.
- 30 Chương 1: Online Diary Ngoài các phương thức khởi tạo và các phương thức trên, lớp DiaryEntry có các thuộc tính sau: Thuộc tính Kiểu Mô tả EntryTitle String Tiêu đề mục nhật ký của một ngày. EntryText String Nội dung mục nhật ký của một ngày. EntryDate Date Ngày tạo mục nhật ký. Lớp làm việc với các mục nhật ký là DiaryEntryCollection, lớp này sẽ được giải thích tiếp theo. ❑ Lớp DiaryEntryCollection Lớp DiaryEntryCollection kế thừa từ lớp System.Collections.CollectionBase. Mục đích của nó là lưu trữ một tập hợp các đối tượng DiaryEntry. Lớp này chỉ có duy nhất một thuộc tính, được mô tả trong bảng sau: Thuộc tính Kiểu Mô tả Trả về đối tượng DiaryEntry tại vị trí Index trong Item(ByVal Index As Integer) Integer tập hợp. Cùng với thuộc tính Item(), lớp DiaryEntryCollection có ba phương thức công khai: Phương thức Kiểu trả về Mô tả Add(ByVal New DiaryEntry As Thêm một đối tượng DiaryEntry vào tập DiaryEntry) không hợp DiaryEntryCollection. Tạo một đối tượng DiaryEntry mới. DiaryEntryId được truyền cho phương thức khởi dựng của đối tượng DiaryEntry Add(ByVal DiaryEntryId As Long) không để đảm bảo có được dữ liệu của mục nhật ký từ cơ sở dữ liệu. Sau đó, đối tượng DiaryEntry mới được thêm vào tập hợp DiaryEntryCollection. Loại bỏ đối tượng DiaryEntry ra khỏi tập Remove(ByVal Index as Integer) không hợp tại vị trí Index. Chúng ta đã thảo luận về các lớp liên quan đến danh bạ liên lạc và các mục nhật ký. Phần tiếp theo sẽ thảo luận về các sự kiện nhật ký. ❑ Lớp DiaryEvent Lớp DiaryEvent thể hiện hóa một mục trong nhật ký. Nó đóng gói mọi thứ để làm việc với các mục nhật ký, bao gồm tạo, cập nhật, và thu lấy dữ liệu của các sự kiện nhật ký. Nó thụ lý mọi truy xuất cơ sở dữ liệu cho các sự kiện nhật ký. Lớp DiaryEvent có ba phương thức khởi dựng, được mô tả trong bảng sau: Phương thức khởi dựng Mô tả
- 31 Chương 1: Online Diary Tạo một đối tượng DiaryEvent mới với tất cả các New(ByVal Diaryid as Integer) thuộc tính được gán bằng giá trị mặc định. Tạo một đối tượng DiaryEvent mới với các thuộc New(ByVal EntryId As Long) tính được lấy từ cơ sở dữ liệu bằng đối số EventId. Tạo một đối tượng DiaryEvent mới với các thuộc New(ByVal DiaryId AS Integer, ByVal EventDate As Date) tính được lấy từ cơ sở dữ liệu bằng đối số DiaryId và EventDate. Với một đối tượng DiaryEvent đã được tạo, chỉ việc gọi phương thức Save() để lưu nó. Lớp này xét đó có phải một sự kiện nhật ký mới cần được chèn vào cơ sở dữ liệu, hay là đã tồn tại cần được cập nhật. Lớp DiaryEvent cũng có hai phương thức Delete(). Thứ nhất là phương thức chia sẻ, do đó không cần tạo DiaryEvent, chỉ cần thông số EventId. Nó được sử dụng bởi một số thành phần truy xuất dữ liệu nội tại đi cùng với ASP.NET 2.0. Thứ hai là phương thức đối tượng, dùng để xóa sự kiện được tham chiếu bởi đối tượng DiaryEvent hiện tại. Cũng như cho phép lấy các chi tiết của một mục nhật ký, lớp DiaryEvent cung cấp thêm các phương thức để lấy các chi tiết của một số sự kiện nhật ký ở dạng tập hợp hay SqlDataReader. Bảng sau mô tả chi tiết các phương thức này: Phương thức Kiểu trả về Mô tả Lưu một đối tượng DiaryEvent đã có đầy đủ dữ liệu. Nếu nó là một mục mới, Save() gọi thủ tục InsertNewDiaryEvent và các chi tiết được chèn vào cơ sở dữ liệu. EventId mới được trả về từ Save() không cơ sở dữ liệu và được gán cho mEventId. Nếu mục này đã tồn tại trong cơ sở dữ liệu, Save() gọi UpdateDiaryEvent để cập nhật cơ sở dữ liệu với các giá trị trong đối tượng DiaryEvent. Phương thức chia sẻ này trả về một mảng Boolean cho biết GetDaysInMonthWithEvents( ByVal DiaryId As Integer, những ngày nào có sự kiện. ByVal Month As Integer, Mảng Boolean Chỉ số mảng ứng với ngày ByVal Year As Integer) trong tháng (ví dụ: 1 là ngày thứ nhất, 2 là ngày thứ hai,…). Phương thức chia sẻ này trả về GetDiaryEventsByDate( ByVal DiaryId As Integer, một đối tượng SqlDataReader SqlDataReader ByVal FromDate As Date, gồm các sự kiện nhật ký từ ByVal ToDate As Date) FromDate đến ToDate.
- 32 Chương 1: Online Diary Tạo một đối tượng GetDiaryEventsByDateAsCollection( DiaryEventCollection mới gồm ByVal DiaryId As Integer, ByVal FromDate As Date, DiaryEventCollection các đối tượng DiaryEvent có ByVal ToDate As Date) EntryDate từ FromDate đến ToDate. Xóa khỏi cơ sở dữ liệu sự kiện có EventId bằng với mEventId. DeleteEvent() không Các giá trị của đối tượng DiaryEvent được khởi tạo lại bằng giá trị mặc định. Phương thức chia sẻ này xóa DeleteEvent( khỏi cơ sở dữ liệu sự kiện có ByVal EventId As Long) không giá trị EventId bằng với đối số EventId của phương thức. Ngoài các phương thức khởi dựng và các phương thức công khai, lớp DiaryEvent có bốn thuộc tính sau: Thuộc tính Kiểu Mô tả EventDescription String Mô tả sự kiện. EventName String Tên ngắn của sự kiện. EventDate Date Ngày bắt đầu sự kiện. EventDuration Integer Thời lượng của sự kiện (tính theo phút) Phần kế tiếp sẽ xét đến lớp thụ lý tập hợp nhật ký: DiaryEventCollection. ❑ Lớp DiaryEventCollection Lớp DiaryEventCollection kế thừa từ lớp System.Collections.CollectionBase. Mục đích của nó là lưu trữ một tập các đối tượng DiaryEvent. Lớp này có các phương thức sau: Phương thức Kiểu trả về Mô tả Add(ByVal NewDiaryEvent As Thêm một đối tượng DiaryEvent vào DiaryEvent) không tập hợp DiaryEventCollection. Tạo một đối tượng DiaryEvent mới. DiaryEventId được truyền cho phương thức khởi dựng của đối tượng DiaryEvent để đảm bảo có Add(ByVal DiaryEventId As Long) không được các chi tiết của sự kiện từ cơ sở dữ liệu. Sau đó, đối tượng DiaryEvent mới được thêm vào tập hợp DiaryEventCollection. Loại bỏ đối tượng DiaryEvent khỏi Remove(ByVal Index As Integer) không tập hợp tại vị trí Index.
- 33 Chương 1: Online Diary Lớp này chỉ có duy nhất một thuộc tính: Thuộc tính Kiểu Mô tả Trả về đối tượng DiaryEvent tại vị trí Index trong Item(ByVal Index As Integer) Integer tập hợp. Đó là tổng quan về tất cả các lớp và bản thiết kế, các phương thức và các thuộc tính của chúng. Phần kế tiếp sẽ đi sâu vào mã lệnh và các trang .aspx liên quan đến tầng trình bày. 1.3 Mã lệnh Online Diary Phần này đi sâu vào từng trang quan trọng và cho biết chúng tương tác với nhau thế nào, cũng như chúng sử dụng các lớp trong tầng nghiệp vụ ra sao. Phần này không phân tích từng dòng của mỗi trang, nhưng phần nào cũng cho bạn một cái nhìn tổng quan về cách ứng dụng làm việc và đi sâu hơn vào những chỗ cần thiết. Thảo luận về dự án này được tiếp cận theo lối dựa trên chức năng. Thay vì thảo luận từng trang cụ thể, các phần sau đây sẽ thảo luận theo từng quy trình—chẳng hạn như quy trình đăng ký. Chúng ta bắt đầu với phần tổng quan về file và cấu trúc file. 1.3.1 Cấu trúc file Tổng quan về cấu trúc file được thể hiện trong hình 1-12 Hình 1-12 Bảy file lớp được lưu trữ trong thư mục App_Code. Thư mục App_Data chứa hai cơ sở dữ liệu: cơ sở dữ liệu đăng nhập (ASPNETDB.MDF) và cơ sở dữ liệu Online Diary
- 34 Chương 1: Online Diary (DiaryDB.mdf). Các trang cần phải đăng nhập trước khi xem được lưu trong thư mục SecureDiary. Thư mục gốc chứa các trang đăng nhập, các trang đăng ký, và các trang nhắc mật khẩu. Về cơ bản, bạn phải đăng nhập thì mới có thể xem các thứ. 1.3.2 Đăng ký, đăng nhập, và bảo mật Ứng dụng Online Diary sử dụng các điều kiểm Login mới để cung cấp các tính năng quản lý người dùng nhật ký, bao gồm: đăng ký người dùng mới, đăng nhập, và nhắc mật khẩu. Các điều kiểm Login giúp tiết kiệm thời gian, cho phép nhiều chức năng phức tạp, chỉ cộng thêm một ít việc và hầu như không có mã lệnh nào! ASP.NET 2.0 có bảy điều kiểm loại này: ✓ Login—Cho phép người dùng đăng nhập, xác nhận tên người dùng và mật khẩu. ✓ LoginView—Cho phép hiển thị các template khác nhau dựa vào trạng thái người dùng có đăng nhập hay không, cũng như vai trò thành viên của người đó. ✓ PasswordRecovery—Cung cấp chức năng nhắc mật khẩu cho những người dùng quên mật khẩu. ✓ LoginStatus—Hiển thị trạng thái người dùng: đăng nhập hay đăng xuất. ✓ LoginName—Hiển thị tên người dùng hiện tại. ✓ CreateUserWizard—Tạo một người dùng mới trong vài bước đơn giản. ✓ ChangePassword—Cho phép người dùng thay đổi mật khẩu. Tuy nhiên, dự án Online Diary chỉ sử dụng các điều kiểm: Login, LoginName, CreateUserWizard, và ChangePassword. ❑ Đăng nhập Trang SignOn.aspx chứa một điều kiểm Login. Cơ sở dữ liệu người dùng được tạo bằng các công cụ quản trị website. Khi hoàn tất việc này, một cơ sở dữ liệu mới có tên là ASPNETDB.MDF xuất hiện trong thư mục App_Data của dự án. Thẻ đánh dấu của điều kiểm Login như sau: Đặc tính quan trọng cần lưu ý là DestinationPageUrl. Đặc tính này xác định người dùng sẽ được chuyển đến đâu khi họ nhập vào một tên người dùng và mật khẩu hợp lệ. Trong dự án Online Diary, đó là trang DiaryMain.aspx—trung tâm của giao diện Online Diary.
- 35 Chương 1: Online Diary Để cho phép người dùng mới đăng ký, CreateUserText được gán bằng một thông điệp thân thiện Bạn chưa có tài khoản? Nhắp vào đây để đăng ký!; URL dùng để đăng ký được chỉ định trong CreateUserUrl. Trong trường hợp người dùng đã đăng ký nhưng quên mật khẩu, đặc tính PasswordRecoveryText hiển thị thông điệp Bạn quên mật khẩu? và PasswordRecoveryUrl thiết lập URL mà người dùng sẽ được chuyển đến khi họ cần tìm lại mật khẩu. Mã lệnh duy nhất mà bạn cần viết là trong sự kiện LoggedIn của điều kiểm Login, sự kiện này phát sinh khi người dùng nhập tên và mật khẩu thành công: Protected Sub Login1_LoggedIn(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Login1.LoggedIn Dim DiaryId As Integer = GetDiaryIdFromUserName(Login1.UserName) Session(“DiaryId”) = DiaryId End Sub Sự kiện này sử dụng tên người dùng để tìm DiaryId của người dùng trong cơ sở dữ liệu Online Diary. Sau đó, DiaryId được lưu trong biến Session. Trang SignOn.aspx cũng cho phép đăng ký người dùng mới. ❑ Đăng ký người dùng mới Trang RegisterStart.aspx xử lý việc đăng ký một người dùng mới. Giống như trang SignOn.aspx, trang này cũng sử dụng một điều kiểm Login mới, đó là điều kiểm CreateUserWizard. Thẻ đánh dấu của điều kiểm CreateUserWizard được trình bày trong đoạn mã sau: Đăng ký tài khoản mới Tên người dùng:
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình: Lập trình cơ bản
65 p | 364 | 237
-
Giáo trình: Ngôn ngữ lập trình Perl
95 p | 636 | 223
-
Giáo trình Lập trình ASP.NET bằng C#
238 p | 520 | 212
-
Giáo trình Lập trình Java - Đại học Bách Khoa Hà Nội
239 p | 502 | 190
-
Giáo trình: Ngôn ngữ lập trình máy tính C++
114 p | 315 | 159
-
Ngôn ngữ lập trình Fortran 90
223 p | 339 | 130
-
Lập trình Windows - Kỹ thuật lập trình Visual C++
71 p | 274 | 130
-
Tự học Microsft Asp Net
80 p | 206 | 129
-
Giáo trình Lập trình nâng cao - Trần Uyên Trang
154 p | 371 | 125
-
Giáo trình lập trình Pascal
90 p | 168 | 104
-
Giáo trình Lập trình viên công nghệ .net (Module 4) - Trung tâm tin học ĐH KHTN
122 p | 143 | 80
-
Giáo trình Lập trình viên công nghệ .net (Module 1) - Trung tâm tin học ĐH KHTN
138 p | 124 | 69
-
Giáo trình Lập trình viên công nghệ .net (Module 2) - Trung tâm tin học ĐH KHTN
127 p | 109 | 53
-
Giáo trình Lập trình viên công nghệ .net (Module 3) - Trung tâm tin học ĐH KHTN
121 p | 87 | 52
-
Chương 1 ASP.NET và Web Forms
18 p | 104 | 27
-
Chương 8 Tùy biến điều khiển trong ASP.NET
21 p | 71 | 19
-
Bài giảng Lập trình web với ASP.Net
386 p | 15 | 8
-
Ngôn ngữ lập trình tự nhiên
3 p | 20 | 2

markdown:
# Giáo trình: Lập trình ASP. net
Chia sẻ: Trần Huệ Mẫn | Ngày: | Loại File: PDF | Số trang:0
lượt xem 313
download
![](http://image.tlvnimg.com/document/thumbnail/2009/20091125/huemanvdoc/80x100/581337944542.jpg)
##
Giáo trình: Lập trình ASP. net
[Vui lòng tải xuống để xem tài liệu đầy đủ](javascript:void(0);)
Download
![](images/down16x21.png)
Qua chương này, bạn sẽ tạo được một sổ nhật ký trực tuyến (online diary) và trình quản lý danh bạ liên lạc (contacts manager). Vậy chính xác thì sổ nhật ký trực tuyến và trình quản lý danh bạ liên lạc làm được việc gì? Sử dụng một giao diện dựa trên lịch biểu, bạn có thể thêm, xóa, và chỉnh sửa một mục nhật ký cho bất kỳ ngày nào. Bạn cũng có thể tạo các sự kiện, chẳng hạn như ghi nhớ ngày sinh của một người nào đó. Các sự kiện không chỉ là ngày sinh mà còn có thể là...
Bình luận(0)
[Đăng nhập để gửi bình luận!](javascript:void(0);)
##
Nội dung Text: Giáo trình: Lập trình ASP. net
- Giáo trình Lập trình ASP. net
- Chương 1: ONLINE DIARY 1 S Ổ N H Ậ T K Ý T R Ự C T U Y Ế N
- 19 Chương 1: Online Diary Q ua chương này, bạn sẽ tạo được một sổ nhật ký trực tuyến (online diary) và trình quản lý danh bạ liên lạc (contacts manager). Vậy chính xác thì sổ nhật ký trực tuyến và trình quản lý danh bạ liên lạc làm được việc gì? Sử dụng một giao diện dựa trên lịch biểu, bạn có thể thêm, xóa, và chỉnh sửa một mục nhật ký cho bất kỳ ngày nào. Bạn cũng có thể tạo các sự kiện, chẳng hạn như ghi nhớ ngày sinh của một người nào đó. Các sự kiện không chỉ là ngày sinh mà còn có thể là các cuộc họp, cuộc hẹn,… Hệ thống này có một hệ thống đăng nhập (gồm tên người dùng và mật khẩu), để chỉ có bạn (chứ không ai khác) mới có thể xem nhật ký của bạn. Đây là điểm khác biệt so với blog. Hệ thống này là một trình quản lý danh bạ liên lạc và nhật ký cá nhân—là nơi đặt những suy nghĩ và những ghi chú mà bạn không muốn mọi người nhìn thấy. Còn blog là nơi bạn muốn tất cả mọi người nhìn thấy. Toàn bộ dự án này cho thấy sức mạnh của ASP.NET 2.0 và dễ dàng tạo nên các dự án thế này. Đã qua rồi cái thời phải viết hàng trăm dòng mã để thực hiện đăng nhập, tạo người dùng mới,... Chương này tận dụng các thành phần bảo mật mới của ASP.NET 2.0 nhằm cho bạn thấy rằng rất dễ dàng tạo nên các dự án hữu ích và thú vị. Phần đầu tiên sẽ hướng bạn sử dụng sổ nhật ký và các màn hình chính của nó. Phần tiếp theo cho bạn cái nhìn tổng quan về thiết kế hệ thống. Sau đó, bạn bước vào các thành phần của hệ thống, cũng như cách kết hợp chúng với nhau. Trong phần cuối cùng, bạn sẽ cài đặt sổ nhật ký. 1.1 Sử dụng Online Diary Mỗi người dùng có một sổ nhật ký trực tuyến riêng, để truy cập cần phải đăng nhập. Nhập tên người dùng là demo với mật khẩu là password# để đăng nhập làm người dùng thử. Màn hình đăng nhập được thể hiện trong hình 1-1. Hình 1-1 Mặc dù màn hình này có thể gợi cho bạn nhiều điều kiểm và nhiều mã lệnh tạo nên chức năng bảo mật, thật ra với các điều kiểm bảo mật mới trong ASP.NET 2.0 thì mọi việc trở nên rất dễ dàng và chẳng có nhiều việc để làm.
- 20 Chương 1: Online Diary Nếu bạn chưa đăng ký, liên kết Bạn chưa có tài khoản? Nhắp vào đây để đăng ký! sẽ đưa bạn đến trang đăng ký, được mô tả trong hình 1-2. Hình 1-2 Hình này cho thấy một điều kiểm khác nữa trong số các điều kiểm bảo mật mới trong ASP.NET 2.0; việc tạo một quy trình đăng ký giờ đây chỉ là thêm một điều kiểm vào một form! Nếu quên mật khẩu, bạn có thể nhắp vào liên kết Bạn quên mật khẩu?, và bạn sẽ được dẫn đến trang nhắc mật khẩu (xem hình 1-3). Hình 1-3 Sau khi đăng nhập, bạn đến trang nhật ký chính, được hiển thị trong hình 1-4. Trên trang này, bạn thấy một lịch biểu theo tháng. Các ngày có các mục nhật ký được đánh dấu bằng nền màu xanh. Các ngày có các sự kiện được đánh dấu bằng chữ màu đỏ. Cũng để ý rằng, phía bên phải là các sự kiện sắp tới và các mục nhật ký gần đây. Nhắp vào một ngày sẽ đưa bạn đến vùng nhập mục nhật ký cho ngày hôm đó; và thêm, sửa, xóa các sự kiện (xem hình 1-5) Bạn cũng có thể điều hướng sổ nhật ký của mình từ đây bằng một lịch biểu nhỏ bên phải. Thêm một mục nhật ký bằng cách nhập vào hộp Tiêu đề và hộp Nội dung, sau đó nhắp nút Lưu nhật ký.
- 21 Chương 1: Online Diary Hình 1-4 Hình 1-5 Các sự kiện diễn ra vào một ngày cụ thể được liệt kê ở góc dưới hình 1-5. Bạn có thể chỉnh sửa và xóa các sự kiện, hoặc nhắp vào liên kết Thêm sự kiện mới để thêm một sự kiện mới. Các trang sửa và thêm sự kiện gần như giống nhau. Hình 1-6 là một ví dụ của trang sửa sự kiện. Trong trang sửa sự kiện, bạn có thể nhập tên sự kiện, mô tả ngắn về sự kiện, thời gian bắt đầu sự kiện, và sự kiện kéo dài trong bao lâu.
- 22 Chương 1: Online Diary Hình 1-6 Trở lại trang nhật ký chính (hình 1-4), bạn sẽ thấy liên kết Quản lý danh bạ liên lạc (xem hình 1-7). Hình 1-7 Nhắp vào liên kết này, bạn sẽ được dẫn đến trang quản lý sổ liên lạc (xem hình 1-8). Hình 1-8
- 23 Chương 1: Online Diary Tại đây, bạn sẽ thấy danh sách các liên lạc. Bạn có thể chỉnh sửa và xóa liên lạc bằng cách nhắp vào liên kết phù hợp. Bạn cũng có thể thêm một liên lạc mới bằng cách nhắp vào liên kết Thêm liên lạc mới, liên kết này sẽ dẫn bạn đến trang thêm liên lạc (xem hình 1-9). Hình 1-9 Hiện tại, chức năng danh bạ liên lạc khá đơn giản, không có các chức năng như liên kết các sự kiện và các cá nhân, tự động gửi mail đến các cá nhân trong danh bạ liên lạc để nhắc họ về một sự kiện. Bạn đã thấy những gì Online Diary làm được, bây giờ bạn có thể xem nó “đã làm điều đó như thế nào” (câu nói quen thuộc của một chương trình truyền hình)! Phần kế tiếp mô tả bản thiết kế tổng quan và hệ thống gắn kết với nhau như thế nào. Bạn sẽ tìm hiểu cơ sở dữ liệu và các lớp mà hệ thống sử dụng. 1.2 Thiết kế Online Diary Hệ thống nhật ký được chia thành kiến trúc ba tầng. Tất cả dữ liệu và mã lệnh hiệu chỉnh dữ liệu trực tiếp nằm trong tầng truy xuất dữ liệu—sự kết hợp của các bảng cơ sở dữ liệu và các thủ tục tồn trữ. Phía trên tầng truy xuất dữ liệu là tầng nghiệp vụ, tầng này cung cấp tất cả các quy tắc và tính thông minh của hệ thống. Tầng nghiệp vụ được tổ chức thành bảy lớp. Được thảo luận sau cùng là tầng trình bày. Tầng này bao gồm một số file .aspx, sử dụng tầng nghiệp vụ và tầng truy xuất dữ liệu để tạo giao diện của nhật ký. 1.2.1 Tầng truy xuất dữ liệu Online Diary sử dụng cơ sở dữ liệu SQL Server 2005 Express. Tuy nhiên, không có lý do gì không thể thay đổi cơ sở dữ liệu khác. Nếu cơ sở dữ liệu hỗ trợ thủ tục tồn trữ thì theo lý thuyết, cần thay đổi chuỗi kết nối và tạo những thủ tục tồn trữ tương ứng với những thủ tục tồn trữ hiện có trong cơ sở dữ liệu SQL Server. Nếu cơ sở dữ liệu không hỗ trợ thủ tục tồn trữ (chẳng hạn, MS Access) thì thay đổi mã lệnh là cần thiết nhưng không khó.
- 24 Chương 1: Online Diary Hình 1-10 mô tả các bảng trong cơ sở dữ liệu Online Diary (DiaryDB). Hình 1-10 Cơ sở dữ liệu mặc định được tạo bằng các tính năng membership của ASP.NET 2.0 cũng được sử dụng. Để nối kết việc đăng nhập và các chi tiết nhật ký, trường UserName trong cơ sở dữ liệu DiaryDB phải lấy giá trị gốc của nó từ cơ sở dữ liệu membership. Các chi tiết về membership nằm trong cơ sở dữ liệu ASPNETDB mà Visual Web Developer Express tạo cho bạn. Mặc dù nó chỉ có một vài bảng, bạn không bao giờ truy xuất chúng thông qua mã lệnh. Nó được truy xuất bởi các điều kiểm Login mới—toàn bộ công việc được thực hiện phía hậu trường! Dự án này chỉ sử dụng bảng aspnet_Users (xem hình 1-11) để đăng nhập và cung cấp tên người dùng cho DiaryDB. Bạn có thể mở rộng cơ sở dữ liệu membership để thêm các chức năng khác như xác định sự trải nghiệm của người dùng hoặc quy định các cấp độ membership khác nhau (admin, user, operator). Hình 1-11
- 25 Chương 1: Online Diary Các bảng của cơ sở dữ liệu Online Diary và vai trò của chúng được liệt kê trong bảng sau: Tên bảng Mô tả Diary Chứa thông tin chi tiết của tất cả người dùng, gồm ID và tên của họ. DiaryEntry Chứa tất cả mục nhật ký của tất cả người dùng. DiaryEvent Chứa tất cả sự kiện nhật ký của tất cả người dùng Contact Chứa thông tin chi tiết của tất cả liên lạc cho các sổ nhật ký. Khóa liên kết tất cả các bảng với nhau là trường DiaryId. Nó là khóa chính trong bảng Diary và là khóa ngoại trong tất cả các bảng khác. Tại sao không sử dụng trường UserName? Về cơ bản là tốc độ—sẽ dễ và nhanh hơn khi kết bảng và tìm kiếm trên một trường kiểu số nguyên so với các trường kiểu ký tự. Mọi truy xuất đến cơ sở dữ liệu đều thông qua thủ tục tồn trữ. Xét thủ tục tồn trữ sau: DeleteContact DeleteContact xóa một liên lạc khỏi cơ sở dữ liệu. Tên của mỗi thủ tục tồn trữ đã thể hiện mục đích của thủ tục tồn trữ đó nên không cần giải thích nhiều. Khi thảo luận về mã lệnh, bạn sẽ xem xét các thủ tục tồn trữ kỹ hơn. 1.2.2 Tầng nghiệp vụ Tầng nghiệp vụ được tổ chức thành bảy lớp. Trong đó, bốn lớp chính là: • OnlineDiary • DiaryEntry • DiaryEvent • Contact Các lớp này thực hiện hầu hết công việc giữ dữ liệu nhật ký tạm thời, thu lấy và lưu nó vào cơ sở dữ liệu. Lớp đầu tiên được thảo luận là OnlineDiary. ❑ Lớp OnlineDiary Lớp này chỉ có hai phương thức công khai chia sẻ, được mô tả chi tiết trong bảng sau: Phương thức Kiểu trả về Mô tả Thêm một người dùng mới InsertDiary(ByVal UserName As String, ByVal FirstName As String, LastName As String) không vào cơ sở dữ liệu Online Diary. Tìm kiếm UserName trong cơ GetDiaryIdFromUserName(ByVal UserName As String) Integer sở dữ liệu và trả về DiaryId tương ứng. Mục đích của lớp OnlineDiary là cung cấp hai phương thức chia sẻ liên quan đến một nhật ký trực tuyến. Nó cũng có thể được sử dụng để mở rộng hệ thống nhật ký và thêm các chức năng mới vào hệ thống, không chỉ là một phần cụ thể như danh bạ liên lạc. ❑ Lớp Contact
- 26 Chương 1: Online Diary Lớp Contact thể hiện hóa một liên lạc—một người hay một thứ gì đó mà bạn muốn lưu thông tin liên lạc. Nó đóng gói mọi thứ để làm việc với các liên lạc, bao gồm lưu trữ và thu lấy thông tin liên lạc trong cơ sở dữ liệu. Nó có hai phương thức khởi dựng, được mô tả trong bảng sau: Phương thức khởi dựng Mô tả Tạo một đối tượng Contact mới với tất cả các thuộc New(ByVal Diaryid as Integer) tính được gán bằng các giá trị mặc định. Tạo một đối tượng Contact mới với các thuộc tính New(ByVal ContactId As Long) được lấy từ cơ sở dữ liệu bằng đối số ContactId. Với một đối tượng Contact đã được tạo, việc lưu nó chỉ đơn giản là gọi phương thức Save(). Lớp này sẽ xem xét đó có phải một liên lạc mới cần được chèn vào cơ sở dữ liệu hay không, hay là một liên lạc đã tồn tại cần được cập nhật. Ngoài phương thức Save(), lớp Contact còn có hai phương thức Delete() và hai phương thức GetContacts(), chúng được mô tả trong bảng sau: Phương thức Kiểu trả về Mô tả Lưu một đối tượng Contact đã có đầy đủ dữ liệu. Nếu nó là một liên lạc mới, Save() gọi thủ tục InsertNewContact và các chi tiết của liên lạc được chèn vào cơ sở dữ liệu. ContactId Save() không mới được trả về từ cơ sở dữ liệu và được gán cho mContactId. Nếu liên lạc này đã tồn tại trong cơ sở dữ liệu, Save() gọi UpdateContact để cập nhật cơ sở dữ liệu với các giá trị trong đối tượng Contact. Xóa đối tượng Contact khỏi cơ sở dữ liệu với ContactId bằng với mContactId của DeleteContact() không đối tượng Contact. Các giá trị của đối tượng Contact được khởi tạo lại bằng các giá trị mặc định. Phương thức chia sẻ này xóa đối tượng Contact khỏi DeleteContact(ByVal ContactId As Long) không cơ sở dữ liệu với giá trị ContactId bằng với đối số ContactId của phương thức.
- 27 Chương 1: Online Diary Phương thức chia sẻ này trả về một đối tượng SqlDataReader gồm một danh sách các liên lạc mà chữ cái đầu tiên trong phần GetContactsByFirstLetter(ByVal DiaryId họ trùng với đối số As Integer,Optional ByVal SqlDataReader FirstLetterOfSurname. Đối FirstLetterOfSurname As Char) số này là tùy chọn; nếu để trống, tất cả các đối tượng Contact bất chấp chữ cái đầu tiên của phần họ sẽ có mặt trong các hàng của DataSet. Phương thức chia sẻ này trả về một đối tượng ContactCollection gồm các đối tượng Contact mà chữ cái đầu tiên trong phần họ GetContactsByFirstLetterAsCollection trùng với đối số (ByVal DiaryId As Integer,Optional ContactCollection FirstLetterOfSurname. Đối ByVal FirstLetterOfSurname As Char) số này là tùy chọn; nếu để trống, tất cả các đối tượng Contact bất chấp chữ cái đầu tiên của phần họ sẽ có mặt trong các hàng của DataSet. Lớp Contact chứa các thuộc tính sau: Thuộc tính Kiểu Mô tả Mỗi liên lạc được đại diện bởi một ID duy nhất. ID ContactId Long này được sinh tự động bởi bảng Contact trong cơ sở dữ liệu mỗi khi một liên lạc mới được thêm vào. FirstName String Tên. LastName String Họ (và chữ lót). Email String Địa chỉ e-mail. Telephone String Số điện thoại cố định. MobilePhone String Số điện thoại di động. AddressLine1 String Địa chỉ nhà. City String Tên tỉnh thành.
- 28 Chương 1: Online Diary State String Tên quốc gia. PostalCode String Mã vùng. ❑ Lớp ContactCollection Lớp ContactCollection kế thừa từ lớp System.Collections.CollectionBase. Mục đích của lớp ContactCollection là lưu trữ một tập hợp các đối tượng Contact. Lớp ContactCollection chỉ có một thuộc tính duy nhất: Thuộc tính Kiểu Mô tả Trả về đối tượng Contact tại vị trí Index trong tập Item(ByVal Index As Integer) Integer hợp. Các phương thức công khai của lớp ContactCollection được mô tả trong bảng sau: Phương thức Kiểu trả về Mô tả Add(ByVal NewContact As Thêm một đối tượng Contact vào tập hợp Contact) không ContactCollection. Tạo một đối tượng Contact mới. ContactId được truyền cho phương thức khởi dựng Add(ByVal ContactId As của đối tượng Contact để đảm bảo có được Long) không các chi tiết của liên lạc từ cơ sở dữ liệu. Sau đó, đối tượng Contact mới được thêm vào tập hợp ContactCollection. Remove(ByVal Index as Loại bỏ đối tượng Contact khỏi tập hợp tại Integer) không vị trí Index. Đó là các lớp làm việc với danh bạ liên lạc; bây giờ xét đến hai lớp làm việc với các mục nhật ký. ❑ Lớp DiaryEntry Lớp DiaryEntry thể hiện hóa một mục trong nhật ký. Nó đóng gói mọi thứ để làm việc với các mục nhật ký, bao gồm: tạo, cập nhật, và thu lấy dữ liệu của mục nhật ký. Nó thụ lý mọi truy xuất cơ sở dữ liệu cho các mục nhật ký. Nó có ba phương thức khởi dựng, được mô tả trong bảng sau: Phương thức khởi dựng Mô tả Tạo một đối tượng DiaryEntry mới với tất cả các New(ByVal DiaryId as Integer) thuộc tính được gán bằng các giá trị mặc định. Tạo một đối tượng DiaryEntry mới với các thuộc New(ByVal DiaryEntryId As Long) tính được lấy từ cơ sở dữ liệu bằng đối số DiaryEntryId. Tạo một đối tượng DiaryEntry mới với các thuộc New(ByVal DiaryId AS Integer, ByVal EntryDate As Date) tính được lấy từ cơ sở dữ liệu bằng đối số DiaryId và EntryDate.
- 29 Chương 1: Online Diary Với một đối tượng DiaryEntry đã được tạo, chỉ việc gọi phương thức Save() để lưu nó. Giống như phương thức Save() của lớp Contact, lớp DiaryEntry sẽ xét đó có phải một mục nhật ký mới cần được chèn vào cơ sở dữ liệu, hay là một mục nhật ký đã tồn tại cần được cập nhật. Cũng như cho phép lấy các chi tiết của một mục nhật ký, lớp DiaryEntry cung cấp thêm các phương thức để lấy các chi tiết của một số mục nhật ký ở dạng một tập hợp hoặc một sqlDataReader. Các phương thức của lớp này được mô tả trong bảng sau: Phương thức Kiểu trả về Mô tả Lưu một đối tượng DiaryEntry đã có đầy đủ dữ liệu. Nếu nó là một mục mới, Save() gọi thủ tục InsertNewDiaryEntry và các chi tiết mục nhật ký được chèn vào cơ sở dữ liệu. Save() không DiaryEntryId mới được trả về từ cơ sở dữ liệu và được gán cho mDiaryEntryId. Nếu mục nhật ký này đã tồn tại trong cơ sở dữ liệu, Save() gọi UpdateContact để cập nhật cơ sở dữ liệu với các giá trị trong đối tượng DiaryEntry. Phương thức chia sẻ này trả về một mảng Boolean cho biết GetDaysInMonthWithEntries( những ngày nào có mục nhật ByVal DiaryId As Integer, ByVal Month As Integer, Mảng Boolean ký. Chỉ số mảng ứng với ByVal Year As Integer) ngày trong tháng (ví dụ: 1 là ngày thứ nhất, 2 là ngày thứ hai,…). Phương thức chia sẻ này trả GetDiaryEntriesByDate( về một đối tượng ByVal DiaryId As Integer, SqlDataReader SqlDataReader gồm các mục ByVal FromDate As Date, ByVal ToDate As Date) nhật ký nằm giữa đối số FromDate và ToDate. Tạo một đối tượng GetDiaryEntriesByDateAsCollection( DiaryEntryCollection gồm các ByVal DiaryId As Integer, ByVal FromDate As Date, DiaryEntryCollection đối tượng DiaryEntry có ByVal ToDate As Date) EntryDate nằm giữa đối số FromDate và ToDate. Trả về một SqlDataReader GetDiaryEntriesRecentlyChanged( ByVal DiaryId As Integer) SqlDataReader gồm các mục nhật ký được tạo gần đây.
- 30 Chương 1: Online Diary Ngoài các phương thức khởi tạo và các phương thức trên, lớp DiaryEntry có các thuộc tính sau: Thuộc tính Kiểu Mô tả EntryTitle String Tiêu đề mục nhật ký của một ngày. EntryText String Nội dung mục nhật ký của một ngày. EntryDate Date Ngày tạo mục nhật ký. Lớp làm việc với các mục nhật ký là DiaryEntryCollection, lớp này sẽ được giải thích tiếp theo. ❑ Lớp DiaryEntryCollection Lớp DiaryEntryCollection kế thừa từ lớp System.Collections.CollectionBase. Mục đích của nó là lưu trữ một tập hợp các đối tượng DiaryEntry. Lớp này chỉ có duy nhất một thuộc tính, được mô tả trong bảng sau: Thuộc tính Kiểu Mô tả Trả về đối tượng DiaryEntry tại vị trí Index trong Item(ByVal Index As Integer) Integer tập hợp. Cùng với thuộc tính Item(), lớp DiaryEntryCollection có ba phương thức công khai: Phương thức Kiểu trả về Mô tả Add(ByVal New DiaryEntry As Thêm một đối tượng DiaryEntry vào tập DiaryEntry) không hợp DiaryEntryCollection. Tạo một đối tượng DiaryEntry mới. DiaryEntryId được truyền cho phương thức khởi dựng của đối tượng DiaryEntry Add(ByVal DiaryEntryId As Long) không để đảm bảo có được dữ liệu của mục nhật ký từ cơ sở dữ liệu. Sau đó, đối tượng DiaryEntry mới được thêm vào tập hợp DiaryEntryCollection. Loại bỏ đối tượng DiaryEntry ra khỏi tập Remove(ByVal Index as Integer) không hợp tại vị trí Index. Chúng ta đã thảo luận về các lớp liên quan đến danh bạ liên lạc và các mục nhật ký. Phần tiếp theo sẽ thảo luận về các sự kiện nhật ký. ❑ Lớp DiaryEvent Lớp DiaryEvent thể hiện hóa một mục trong nhật ký. Nó đóng gói mọi thứ để làm việc với các mục nhật ký, bao gồm tạo, cập nhật, và thu lấy dữ liệu của các sự kiện nhật ký. Nó thụ lý mọi truy xuất cơ sở dữ liệu cho các sự kiện nhật ký. Lớp DiaryEvent có ba phương thức khởi dựng, được mô tả trong bảng sau: Phương thức khởi dựng Mô tả
- 31 Chương 1: Online Diary Tạo một đối tượng DiaryEvent mới với tất cả các New(ByVal Diaryid as Integer) thuộc tính được gán bằng giá trị mặc định. Tạo một đối tượng DiaryEvent mới với các thuộc New(ByVal EntryId As Long) tính được lấy từ cơ sở dữ liệu bằng đối số EventId. Tạo một đối tượng DiaryEvent mới với các thuộc New(ByVal DiaryId AS Integer, ByVal EventDate As Date) tính được lấy từ cơ sở dữ liệu bằng đối số DiaryId và EventDate. Với một đối tượng DiaryEvent đã được tạo, chỉ việc gọi phương thức Save() để lưu nó. Lớp này xét đó có phải một sự kiện nhật ký mới cần được chèn vào cơ sở dữ liệu, hay là đã tồn tại cần được cập nhật. Lớp DiaryEvent cũng có hai phương thức Delete(). Thứ nhất là phương thức chia sẻ, do đó không cần tạo DiaryEvent, chỉ cần thông số EventId. Nó được sử dụng bởi một số thành phần truy xuất dữ liệu nội tại đi cùng với ASP.NET 2.0. Thứ hai là phương thức đối tượng, dùng để xóa sự kiện được tham chiếu bởi đối tượng DiaryEvent hiện tại. Cũng như cho phép lấy các chi tiết của một mục nhật ký, lớp DiaryEvent cung cấp thêm các phương thức để lấy các chi tiết của một số sự kiện nhật ký ở dạng tập hợp hay SqlDataReader. Bảng sau mô tả chi tiết các phương thức này: Phương thức Kiểu trả về Mô tả Lưu một đối tượng DiaryEvent đã có đầy đủ dữ liệu. Nếu nó là một mục mới, Save() gọi thủ tục InsertNewDiaryEvent và các chi tiết được chèn vào cơ sở dữ liệu. EventId mới được trả về từ Save() không cơ sở dữ liệu và được gán cho mEventId. Nếu mục này đã tồn tại trong cơ sở dữ liệu, Save() gọi UpdateDiaryEvent để cập nhật cơ sở dữ liệu với các giá trị trong đối tượng DiaryEvent. Phương thức chia sẻ này trả về một mảng Boolean cho biết GetDaysInMonthWithEvents( ByVal DiaryId As Integer, những ngày nào có sự kiện. ByVal Month As Integer, Mảng Boolean Chỉ số mảng ứng với ngày ByVal Year As Integer) trong tháng (ví dụ: 1 là ngày thứ nhất, 2 là ngày thứ hai,…). Phương thức chia sẻ này trả về GetDiaryEventsByDate( ByVal DiaryId As Integer, một đối tượng SqlDataReader SqlDataReader ByVal FromDate As Date, gồm các sự kiện nhật ký từ ByVal ToDate As Date) FromDate đến ToDate.
- 32 Chương 1: Online Diary Tạo một đối tượng GetDiaryEventsByDateAsCollection( DiaryEventCollection mới gồm ByVal DiaryId As Integer, ByVal FromDate As Date, DiaryEventCollection các đối tượng DiaryEvent có ByVal ToDate As Date) EntryDate từ FromDate đến ToDate. Xóa khỏi cơ sở dữ liệu sự kiện có EventId bằng với mEventId. DeleteEvent() không Các giá trị của đối tượng DiaryEvent được khởi tạo lại bằng giá trị mặc định. Phương thức chia sẻ này xóa DeleteEvent( khỏi cơ sở dữ liệu sự kiện có ByVal EventId As Long) không giá trị EventId bằng với đối số EventId của phương thức. Ngoài các phương thức khởi dựng và các phương thức công khai, lớp DiaryEvent có bốn thuộc tính sau: Thuộc tính Kiểu Mô tả EventDescription String Mô tả sự kiện. EventName String Tên ngắn của sự kiện. EventDate Date Ngày bắt đầu sự kiện. EventDuration Integer Thời lượng của sự kiện (tính theo phút) Phần kế tiếp sẽ xét đến lớp thụ lý tập hợp nhật ký: DiaryEventCollection. ❑ Lớp DiaryEventCollection Lớp DiaryEventCollection kế thừa từ lớp System.Collections.CollectionBase. Mục đích của nó là lưu trữ một tập các đối tượng DiaryEvent. Lớp này có các phương thức sau: Phương thức Kiểu trả về Mô tả Add(ByVal NewDiaryEvent As Thêm một đối tượng DiaryEvent vào DiaryEvent) không tập hợp DiaryEventCollection. Tạo một đối tượng DiaryEvent mới. DiaryEventId được truyền cho phương thức khởi dựng của đối tượng DiaryEvent để đảm bảo có Add(ByVal DiaryEventId As Long) không được các chi tiết của sự kiện từ cơ sở dữ liệu. Sau đó, đối tượng DiaryEvent mới được thêm vào tập hợp DiaryEventCollection. Loại bỏ đối tượng DiaryEvent khỏi Remove(ByVal Index As Integer) không tập hợp tại vị trí Index.
- 33 Chương 1: Online Diary Lớp này chỉ có duy nhất một thuộc tính: Thuộc tính Kiểu Mô tả Trả về đối tượng DiaryEvent tại vị trí Index trong Item(ByVal Index As Integer) Integer tập hợp. Đó là tổng quan về tất cả các lớp và bản thiết kế, các phương thức và các thuộc tính của chúng. Phần kế tiếp sẽ đi sâu vào mã lệnh và các trang .aspx liên quan đến tầng trình bày. 1.3 Mã lệnh Online Diary Phần này đi sâu vào từng trang quan trọng và cho biết chúng tương tác với nhau thế nào, cũng như chúng sử dụng các lớp trong tầng nghiệp vụ ra sao. Phần này không phân tích từng dòng của mỗi trang, nhưng phần nào cũng cho bạn một cái nhìn tổng quan về cách ứng dụng làm việc và đi sâu hơn vào những chỗ cần thiết. Thảo luận về dự án này được tiếp cận theo lối dựa trên chức năng. Thay vì thảo luận từng trang cụ thể, các phần sau đây sẽ thảo luận theo từng quy trình—chẳng hạn như quy trình đăng ký. Chúng ta bắt đầu với phần tổng quan về file và cấu trúc file. 1.3.1 Cấu trúc file Tổng quan về cấu trúc file được thể hiện trong hình 1-12 Hình 1-12 Bảy file lớp được lưu trữ trong thư mục App_Code. Thư mục App_Data chứa hai cơ sở dữ liệu: cơ sở dữ liệu đăng nhập (ASPNETDB.MDF) và cơ sở dữ liệu Online Diary
- 34 Chương 1: Online Diary (DiaryDB.mdf). Các trang cần phải đăng nhập trước khi xem được lưu trong thư mục SecureDiary. Thư mục gốc chứa các trang đăng nhập, các trang đăng ký, và các trang nhắc mật khẩu. Về cơ bản, bạn phải đăng nhập thì mới có thể xem các thứ. 1.3.2 Đăng ký, đăng nhập, và bảo mật Ứng dụng Online Diary sử dụng các điều kiểm Login mới để cung cấp các tính năng quản lý người dùng nhật ký, bao gồm: đăng ký người dùng mới, đăng nhập, và nhắc mật khẩu. Các điều kiểm Login giúp tiết kiệm thời gian, cho phép nhiều chức năng phức tạp, chỉ cộng thêm một ít việc và hầu như không có mã lệnh nào! ASP.NET 2.0 có bảy điều kiểm loại này: ✓ Login—Cho phép người dùng đăng nhập, xác nhận tên người dùng và mật khẩu. ✓ LoginView—Cho phép hiển thị các template khác nhau dựa vào trạng thái người dùng có đăng nhập hay không, cũng như vai trò thành viên của người đó. ✓ PasswordRecovery—Cung cấp chức năng nhắc mật khẩu cho những người dùng quên mật khẩu. ✓ LoginStatus—Hiển thị trạng thái người dùng: đăng nhập hay đăng xuất. ✓ LoginName—Hiển thị tên người dùng hiện tại. ✓ CreateUserWizard—Tạo một người dùng mới trong vài bước đơn giản. ✓ ChangePassword—Cho phép người dùng thay đổi mật khẩu. Tuy nhiên, dự án Online Diary chỉ sử dụng các điều kiểm: Login, LoginName, CreateUserWizard, và ChangePassword. ❑ Đăng nhập Trang SignOn.aspx chứa một điều kiểm Login. Cơ sở dữ liệu người dùng được tạo bằng các công cụ quản trị website. Khi hoàn tất việc này, một cơ sở dữ liệu mới có tên là ASPNETDB.MDF xuất hiện trong thư mục App_Data của dự án. Thẻ đánh dấu của điều kiểm Login như sau: Đặc tính quan trọng cần lưu ý là DestinationPageUrl. Đặc tính này xác định người dùng sẽ được chuyển đến đâu khi họ nhập vào một tên người dùng và mật khẩu hợp lệ. Trong dự án Online Diary, đó là trang DiaryMain.aspx—trung tâm của giao diện Online Diary.
- 35 Chương 1: Online Diary Để cho phép người dùng mới đăng ký, CreateUserText được gán bằng một thông điệp thân thiện Bạn chưa có tài khoản? Nhắp vào đây để đăng ký!; URL dùng để đăng ký được chỉ định trong CreateUserUrl. Trong trường hợp người dùng đã đăng ký nhưng quên mật khẩu, đặc tính PasswordRecoveryText hiển thị thông điệp Bạn quên mật khẩu? và PasswordRecoveryUrl thiết lập URL mà người dùng sẽ được chuyển đến khi họ cần tìm lại mật khẩu. Mã lệnh duy nhất mà bạn cần viết là trong sự kiện LoggedIn của điều kiểm Login, sự kiện này phát sinh khi người dùng nhập tên và mật khẩu thành công: Protected Sub Login1_LoggedIn(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Login1.LoggedIn Dim DiaryId As Integer = GetDiaryIdFromUserName(Login1.UserName) Session(“DiaryId”) = DiaryId End Sub Sự kiện này sử dụng tên người dùng để tìm DiaryId của người dùng trong cơ sở dữ liệu Online Diary. Sau đó, DiaryId được lưu trong biến Session. Trang SignOn.aspx cũng cho phép đăng ký người dùng mới. ❑ Đăng ký người dùng mới Trang RegisterStart.aspx xử lý việc đăng ký một người dùng mới. Giống như trang SignOn.aspx, trang này cũng sử dụng một điều kiểm Login mới, đó là điều kiểm CreateUserWizard. Thẻ đánh dấu của điều kiểm CreateUserWizard được trình bày trong đoạn mã sau: Đăng ký tài khoản mới Tên người dùng:
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình: Lập trình cơ bản
65 p |
364 |
237
-
Giáo trình: Ngôn ngữ lập trình Perl
95 p |
636 |
223
-
Giáo trình Lập trình ASP.NET bằng C#
238 p |
520 |
212
-
Giáo trình Lập trình Java - Đại học Bách Khoa Hà Nội
239 p |
502 |
190
-
Giáo trình: Ngôn ngữ lập trình máy tính C++
114 p |
315 |
159
-
Ngôn ngữ lập trình Fortran 90
223 p |
339 |
130
-
Lập trình Windows - Kỹ thuật lập trình Visual C++
71 p |
274 |
130
-
Tự học Microsft Asp Net
80 p |
206 |
129
-
Giáo trình Lập trình nâng cao - Trần Uyên Trang
154 p |
371 |
125
-
Giáo trình lập trình Pascal
90 p |
168 |
104
-
Giáo trình Lập trình viên công nghệ .net (Module 4) - Trung tâm tin học ĐH KHTN
122 p |
143 |
80
-
Giáo trình Lập trình viên công nghệ .net (Module 1) - Trung tâm tin học ĐH KHTN
138 p |
124 |
69
-
Giáo trình Lập trình viên công nghệ .net (Module 2) - Trung tâm tin học ĐH KHTN
127 p |
109 |
53
-
Giáo trình Lập trình viên công nghệ .net (Module 3) - Trung tâm tin học ĐH KHTN
121 p |
87 |
52
-
Chương 1 ASP.NET và Web Forms
18 p |
104 |
27
-
Chương 8 Tùy biến điều khiển trong ASP.NET
21 p |
71 |
19
-
Bài giảng Lập trình web với ASP.Net
386 p |
15 |
8
-
Ngôn ngữ lập trình tự nhiên
3 p |
20 |
2

Set-Cookie: TLDEVNamespace=m1afkv5chjp0memjrjsmhp5714; path=/; domain=.tailieu.vn; HttpOnly