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

Đề tài: Cách sử dụng Session ở đâu thì hợp lý, ý nghĩa?

  1. #1
    Ngày gia nhập
    11 2010
    Bài viết
    120

    Mặc định Cách sử dụng Session ở đâu thì hợp lý, ý nghĩa?

    Chào các bạn mình đang làm đếm trên session dùng hàm count bị báo lỗi, trong ASP viết = VB như sau thì chạy OK nhưng sang C# được(báo lỗi)
    VB: tongso.Text = Session("giohang").count
    C#: tongso.Text = Session["giohang"].Count (lỗi: Cannot convert method group 'Count' to non delegate type 'string'. Did you intend to invoke the method?

    --Thứ 2:
    tongtien += Session("giohang")(i).Thanh_Tien (VB OK)

    C#: tongtien += Session["giohang"][i].Thanh_Tien (Lỗi: Cannot apply indexing with [] to an expression of type 'object')

    Nhờ các bạn cho ý kiến giúp đỡ.

  2. #2
    Ngày gia nhập
    03 2008
    Bài viết
    71

    1. Bạn thêm mở ngoặc đóng ngoặc () vào sau tên hàm xem sao, có thể cần thêm ToString() để có thể gán được vào Text.
    2. Bạn ép kiểu Session["giohang"][i] về kiểu class (struct) mà bạn chứa trong Session thì mới có thể gọi hàm trên đó được. tongtien += ((MyClass)Session["giohang"][i]).Thanh_Tien

  3. #3
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    ASP dùng session khác với ASP.NET, có lẽ bạn muốn nói VB.NET và ASP.NET

    C# dùng kiểu dữ liệu cứng nhắc hơn VB.NET cho nên khi lấy tin tức từ Session ra, bạn phải chuyển mớ tin tức này trở về loại dữ liệu ban đầu rồi mới sử dụng được.

    Theo như code của bạn thì có lẽ trước đó bạn đã chuyển một mảng loại ChiTietHang gì đó vào session tên là giohang. Bây giờ bạn muốn lôi nó ra để tính tổng tiền.

    Visual C# Code:
    1. tongtien += ((ChiTietHang [])Session["giohang"])[i].Thanh_Tien;
    2.  
    3. // hoặc
    4.  
    5. foreach (ChiTietHang cth in (ChiTietHang [])Session["giohang"]) tongtien += cth.Thanh_Tien;

  4. #4
    Ngày gia nhập
    04 2010
    Nơi ở
    Trên hành tinh thứ ba tính từ Mặt trời
    Bài viết
    202

    Trong VB.NET thì khi gọi một phương thức bạn có thể bỏ qua dấu ngoặc nếu như phương thức đó không có tham số. Vì vậy đối với trường hợp của bạn thì Session["GioHang"] là một tập hợp có cung cấp phương thức Count() để đếm số lượng mẩu tin. Vì vậy tốt nhất là khi gọi phương thức nên sử dụng Count() để tránh nhầm lẫn.
    Microsoft Student Partner
    University of Information Technology - VNUHCM
    Visit my blog: My power is my mind

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

  1. Lấy 1 session trong 1 mảng session ???
    Gửi bởi depzai trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 2
    Bài viết cuối: 18-01-2014, 12:14 PM
  2. Khai báo biến Session trong Class.cs lỗi 'The name 'Session' does not exist in the current context'?
    Gửi bởi nguyenvantien87 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 5
    Bài viết cuối: 26-12-2012, 06:56 PM
  3. Sự khác nhau giữa HttpContext.Current.Session và Session là như thế nào?
    Gửi bởi thvnhn trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 30-08-2012, 10:38 AM
  4. Server quản lý session như thế nào? Làm thế nào để biết 1 session kết thúc
    Gửi bởi GaPro trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 1
    Bài viết cuối: 19-01-2011, 10:15 AM
  5. Session trong C# asp.net là gì? Cơ chế làm việc của session là gì?
    Gửi bởi congtuazx trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 0
    Bài viết cuối: 03-07-2009, 04:31 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