Dear all readers!

Our programming topics will moved to GEEKSSHIP.COMGEEKSSHIP.COM is a new developer community for Vietnamese Developers and developers from all over the world. It supports multiple  languages and can store all edited versions of a topic. GEEKSSHIP.COM is really a new generation of developer community.

 

Thưa tất cả bạn đọc!

Tất cả các bài viết về chủ đề lập trình SFI.VN Team sẽ chuyển sang website GEEKSHIP.COM. GEEKSSHIP.COM là một thế hệ cộng đồng dành cho lập trình viên mới cho Việt Nam và các lập trình viên trên toàn thế giới. GEEKSSHIP.COM hỗ trợ đã ngôn ngữ và nó sẽ lưu tất cả các phiên bản của một chủ đề để có thể tham khảo ngược. GEEKSSHIP.COM thực sự là điểm đến mới của cộng đồng lập trình viên!

 

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

lequangthai posted on November 17, 2009 08:10

Bài viết này mình đọc được tại blog Suprotim Agarwal,thầy hay hay nên viết lại. Bài viết nói về việc kết hợp giữa việc ứng dụng RepeaterControl của ASP.NET và LinQ.

Mình có một Repeater Control mà mỗi dòng của nó là một radio button,mỗi dòng đó sẽ được gán với các bộ dữ liệu với nhiều cột dữ liệu,tất nhiên một trong số đó có cột Id và không thể biểu diễn giá trị cột đó trên View.Vấn đề là làm thế nào để xác định được Id của bộ dữ liệu được chọn? Một trong các cách là ta có thể sử dụng LinQ.

Chúng ta sẽ thử làm một ví dụ để biểu diễn việc này,để bắt đầu,hãy mở Visual Studio 2008,chọn File -> New -> Web -> ASP.NET Web Application.Tại đây chúng ta chủ yếu viết code trên 2 file default.aspx và default.aspx.cs

Đầu tiên,chúng ta sẽ tạo lớp People để làm cấu trúc data trong ví dụ của chúng ta.

Vì đây là ví dụ nên chúng ta sẽ tạo lớp trên trong default.aspx.cs cho tiện.

Trong class People ở trên ta sẽ sử dụng thuộc tính UniqueId làm Id cho people và tất nhiên,thuộc tính này sẽ không được hiển thị lên View. Tiếp theo,chúng ta sẽ add repeater control vào trang default.aspx.Code hoàn chỉnh:

Ở trên ta thấy có function SetUniqueRadioButton bằng javascript,sử dụng hàm này nhằm giới hạn người dùng tại một thời điểm chỉ chọn một nút radio button(một bộ dữ liệu).Thông thường,hệ thống radio button sẽ hoạt động tốt khi đặt trong cùng một GroupName (tức là tại mỗi thời điểm chỉ có thể chọn một radio button),nhưng repeater sẽ làm "hỏng" GroupName này khi được trả về trình duyệt.

Cài đặt đoạn code này vào default.aspx.cs để đảm bảo chỉ có thể chọn 1 radio button tại một thời điểm.

Tạo data để test:

tiếp theo ta sẽ viết code cho Button1_Click để tìm ra dòng dữ liệu mà ta đã được chọn,tại đây ta sẽ sử dụng LinQ

Để xác định radio button nào được chọn,mình sẽ sử dụng từ khóa "let" của LinQ, nó sẽ tạo ra một biến tạm và chỉ có câu lệnh LinQ sử dụng.

 

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Posted in: .NET , ASP.NET Webforms , LinQ  Tags:

Page List

    Calendar

    «  September 2010  »
    MoTuWeThFrSaSu
    303112345
    6789101112
    13141516171819
    20212223242526
    27282930123
    45678910
    View posts in large calendar

    Recent Comments

    Disclaimer
    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    © Copyright 2010 SFI.VN Team