Hiển thị kết quả từ 1 đến 7 / 7
  1. #1
    Tham gia
    10-03-2008
    Bài viết
    29
    Like
    0
    Thanked 0 Times in 0 Posts

    Thắc mắc về ViewState trong asp.net

    hi các Bác,
    em ko hiểu viewstate có tác dụng gì trong asp.net. Bác nào rành về nó có thể giải thích giúp e duoc ko?

    thanks các bác nhiều
    Quote Quote

  2. #2
    Tham gia
    19-10-2002
    Bài viết
    610
    Like
    1
    Thanked 4 Times in 4 Posts
    Bản chất của web là stateless. MS sử dụng kỹ thuật ViewState đễ duy trì state (giá trị) của các controls ngang qua postbacks.

  3. #3
    Tham gia
    16-07-2004
    Bài viết
    662
    Like
    0
    Thanked 3 Times in 3 Posts
    Có tác dụng để nhớ các giá trị lần trước
    Mỗi khi cậu truy cập trang web, server sẽ trả về dử liệu rồi ngắt kết nối, nếu cậu xài IE cậu sẽ thấy khi sever trả dử liệu xong, IE load hết cậu sẽ thấy chữ done trong status bar.

    Viewstate là để dùng cho post back, khi cậu nhấn 1 button, thì toàn bộ viewstate sẽ gửi về cho server, server đọc viewstate này và gán giá trị lại cho control.

    Làm như thế để có cảm tưởng giống như là lập trình winform đó mà.

  4. #4
    Tham gia
    10-03-2008
    Bài viết
    29
    Like
    0
    Thanked 0 Times in 0 Posts
    Thanks các bác đã reply,
    Theo như câu trả lời của các bác thì viewstate được tạo ra từ server side đúng không? nó lưu lại giá trị của lần postback trước và gán lại giá trị đó cho các control trong lần postback tiếp theo phải ko?
    Nhưng nếu viewstate được tạo từ phía server thì nếu như trên form có thay đổi gì thì giá trị thay đổi đó ko thể có trong viewstate vậy sau khi thay đổi mà xảy ra post back thì viewstate dùng lam gì? làm sao mà viewstate có được giá trị mới nhất của control?

    Mong các bác giải thích giúp em.
    Thanks các bác nhiều

  5. #5
    Tham gia
    16-07-2004
    Bài viết
    662
    Like
    0
    Thanked 3 Times in 3 Posts
    Viewstate không chỉ lưu giá trị của control mà con lưu thuộc tính nữa

    Mục đích Viewstate nhớ trạng thái của các control không bị thạy đổi tại server.

    Mấy cái giá trị cậu edit trên post back cũng sẽ được lưu vào viewstate khi server trả về

    Tui lấy ví dụ thế này cậu có 3 controls,
    1 cái là Dropdown, 1 textbox ,1 button
    Ví dụ là nhiệm vụ của cậu là khi người dùng bỏ số vào textbox rồi nhấn OK thì thay đổi chiều dài của textbox, khi người dùng chọn 1 item thì thay đổi chữ trên button. Việc thay đổi này phải diển ra tại server

    cậu viết onlick event, và lấy giá trị textbox rồi sửa cho textbox.Width = int.parse(textbox.value)
    Chiều dài và giá trị của textbox sẽ lưu trong viewstate

    ngoài ra cậu còn phải viết onchange event để thay đổi già trị của button.

    Ví dụ cậu post số 100 rồi ấn OK, thì số 100 post về bởi Onclik button, cậu sửa độ dài, 100 và Width sẽ lưu lại viewstate
    Lần sau cậu không dùng button nữa mà cậu chọn item, item post về, cậu thay đổi giá trị. cho button và server trả lại kết quả

    Lần post báck đó cậu vẩn thấy số 100 vầ chiều dài của Box củng bằng 100 là do tác dụng viewstate nhớ cho cậu
    Nói cung là viewstate dùng để nhớ trạng thái của trang web, chiều cao chiều rộng, giá trị vị trí .....

  6. #6
    Tham gia
    28-12-2010
    Bài viết
    60
    Like
    0
    Thanked 1 Time in 1 Post
    whitepenguin nói đúng về viewstate rồi. và theo mình hiểu là cái này không ảnh hưởng về SEO

  7. #7
    Tham gia
    19-10-2002
    Bài viết
    610
    Like
    1
    Thanked 4 Times in 4 Posts
    Understanding ASP.NET View State
    ASP.NET View State Overview
    Understanding ViewState and Postback Processing in ASP.NET applications

    ViewState được đọc và gán giá trị lại cho control trong bước Load View State. Trong bước kế tiếp, Load Postback Data, giá trị mới sẽ gán cho control và ghi vào ViewState trong bước Save View State trước khi gửi trả lại cho client.

    Ví dụ, cho textbox, giá trị cũ của nó khi postback tới server được duy trì trong bước Load View State, nhưng ngay sau đó, trong bước Load Postback Data, giá trị mới được ghi vào Text property của textbox và cũng được updated trong ViewState trong bước Save View State trước khi trả về browser.

Bookmarks

Quy định

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