Từ 1 tới 10 trên tổng số 10 kết quả

Đề tài: Bản chất của <%# Eval("...")%> là gì?

  1. #1
    Ngày gia nhập
    06 2008
    Bài viết
    15

    Mặc định Bản chất của <%# Eval("...")%> là gì?

    Mình đọc code đã thấy 1 số các trường hợp dùng cái dấu <%%> này:
    <%# Eval("string")%>
    <%...%>
    <%#....%>
    ....
    Tùm lum tà la

    Có pro nào rành chỉ giùm mình từng trường hợp hay đưa link cho mình bài giảng về mấy cái này giúp với.
    Sẵn cho mình hỏi luôn giờ mình muốn dùng 1 trong mấy cái trên để đưa biến kiểu string cho thuộc tính text của label trong trang aspx sthì làm thế nào?

  2. #2
    Ngày gia nhập
    10 2010
    Nơi ở
    Biên Hòa
    Bài viết
    562

    cơ bản bạn ko cần bik nhiều đâu, vì có những cái sẽ ko dùng tới.

    Visual C# Code:
    1. <%# Eval("string")%>  //cái này dùng để fill dữ liệu từ datasource trong control data(datalist,repeater...).
    2.  
    3. <%=totalExcel %> // call 1 biến (method) trong code-behind, phải để public mới call đc.

  3. #3
    Ngày gia nhập
    08 2010
    Bài viết
    44

    Cho mình hỏi là mình rất hay sử dụng datatable sau đó bên trang aspx mình dùng <%%> để gọi ra và dùng vòng for để xuất dữ liệu ra , giống như sử dụng datalist,repeater thì có hiệu quả không

  4. #4
    Ngày gia nhập
    09 2011
    Bài viết
    26

    Trích dẫn Nguyên bản được gửi bởi resazip Xem bài viết
    Cho mình hỏi là mình rất hay sử dụng datatable sau đó bên trang aspx mình dùng <%%> để gọi ra và dùng vòng for để xuất dữ liệu ra , giống như sử dụng datalist,repeater thì có hiệu quả không
    Mình chưa hiểu ý bạn dùng for để làm gì. Chỉ cần gán DataTable cho thuộc tính DataSource của control là hiển thị được dữ liệu rồi. <%#Eval()%> dùng để bind data đơn giản.

  5. #5
    Ngày gia nhập
    10 2010
    Nơi ở
    Biên Hòa
    Bài viết
    562

    Trích dẫn Nguyên bản được gửi bởi resazip Xem bài viết
    Cho mình hỏi là mình rất hay sử dụng datatable sau đó bên trang aspx mình dùng <%%> để gọi ra và dùng vòng for để xuất dữ liệu ra , giống như sử dụng datalist,repeater thì có hiệu quả không
    cách của bạn là đi ngược lại công nghệ ASP.NET rồi, lúc trước asp sẽ làm như vậy nhưng bây h` ASP.NET đã thay thế ASP rồi.

    bạn chỉ cần làm thế trong code-behind để bind data vào control thôi.
    Visual C# Code:
    1. datalist.DataSource = datatable // có thể là 1 List object,Dataset, IEnumera...
    2. datalist.DataBind();

    có vẻ như bạn bị mất căn bản về ASP.NET rồi

  6. #6
    Ngày gia nhập
    02 2012
    Bài viết
    14

    Mặc định Bản chất của <%# Eval("...")%> là gì?

    MS sinh ra các server control để giải quyết vấn đề đó. Nó sẽ nhanh hơn và code cũng dễ sửa hơn. Chắc bạn quen làm giống PHP rồi. Làm như vậy thì dễ style hơn nhưng cách này không được khuyến khích lắm

  7. #7
    Ngày gia nhập
    06 2008
    Bài viết
    15

    Trích dẫn Nguyên bản được gửi bởi kenturo Xem bài viết
    cơ bản bạn ko cần bik nhiều đâu, vì có những cái sẽ ko dùng tới.

    Visual C# Code:
    1. <%# Eval("string")%>  //cái này dùng để fill dữ liệu từ datasource trong control data(datalist,repeater...).
    2.  
    3. <%=totalExcel %> // call 1 biến (method) trong code-behind, phải để public mới call đc.
    Cực kì dễ hiểu, và đã giải thích được hoàn toàn những gì mình thấy

  8. #8
    Ngày gia nhập
    10 2012
    Bài viết
    204

    <% %> gọi là ASP.NET View Engine.
    Ngoài ra còn có @ gọi là Razor View Engine

  9. #9
    Ngày gia nhập
    10 2010
    Bài viết
    14

    Mặc định Thực chất đó là DataBinder.Eval(object, string)

    Trích dẫn Nguyên bản được gửi bởi hunterxh Xem bài viết
    Mình đọc code đã thấy 1 số các trường hợp dùng cái dấu <%%> này:
    <%# Eval("string")%>
    <%...%>
    <%#....%>
    ....
    Tùm lum tà la

    Có pro nào rành chỉ giùm mình từng trường hợp hay đưa link cho mình bài giảng về mấy cái này giúp với.
    Sẵn cho mình hỏi luôn giờ mình muốn dùng 1 trong mấy cái trên để đưa biến kiểu string cho thuộc tính text của label trong trang aspx sthì làm thế nào?
    Khi bạn binding dữ liệu vào GridView hoặc ListView sau đó tùy chình bằng cách dùng các template của nó (ví dụ: ItemTemplate trong TemplateField). Bạn dùng <%# Eval("") %> lấy dữ liệu nào đó trong 1 item dữ liệu để tạo nên 1 dòng trong GridView. Thực chất cũng giống như dùng DataBinder.Eval(object, string) trong file source vậy đó. Ở đây object là item dữ liệu, string là tên cột dữ liệu bạn cần lấy. Khi dùng trên file markup thì object tự động hiểu là item dữ liệu đang xử lý.

    Lưu ý bạn ở đây là <%# Eval("") %> chỉ lấy dữ liệu ra để hiển thị. Khi gridview chuyển sang trạng thái Insert hay Update thì khi postback lên server sẽ bạn sẽ ko nhận được dữ liệu ở ô đó. Lúc này bạn sẽ phải dùng <%# Bind("") %> thay thế. Tuy nhiên bạn sẽ không tìm thấy hàm Bind trong DataBinder.

  10. #10
    Ngày gia nhập
    10 2010
    Bài viết
    14

    Trích dẫn Nguyên bản được gửi bởi AnyLastWord Xem bài viết
    <% %> gọi là ASP.NET View Engine.
    Ngoài ra còn có @ gọi là Razor View Engine
    Đó là trong ASP.NET MVC thôi. Còn trong WebForm ko gọi là vậy đâu bạn.

Các đề tài tương tự

  1. nghĩa của 3 từ "principals", "artifacts", "securables" là như thế nào?
    Gửi bởi ntbao trong diễn đàn English for IT | Tiếng anh cho dân CNTT
    Trả lời: 2
    Bài viết cuối: 02-09-2017, 06:36 PM
  2. Lỗi"error C2275: 'T' : illegal use of this type as an expression" khi dùng "list<T>::iterator it"
    Gửi bởi doicanhden trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 6
    Bài viết cuối: 19-01-2012, 01:59 AM
  3. Trả lời: 1
    Bài viết cuối: 01-12-2011, 07:32 PM
  4. Hiển thị dữ liệu Databound với Eval("zzzzz")
    Gửi bởi quyentv88 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 3
    Bài viết cuối: 25-04-2011, 12:33 PM
  5. Problems : " recover tree " with input as " preorder" and "inorder"
    Gửi bởi HoangManhHa1991 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 16
    Bài viết cuối: 13-04-2011, 10:19 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn