Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 5 của 5
  1. #1
    Ngày tham gia
    Sep 2015
    Đang ở
    89 Tam Trinh - Hoàng Mai - Hà Nội
    Bài viết
    0

    Menu động thể hiện trang trái trang hiện tại !

    Mình mới học Asp.net thôi. Đang làm 1 menu dưới dạng UserControl trong ASP.Net . ý tưởng và thiết kế đều như menu của trang này :
    http://demo.gavick.com/joomla15ov2010/

    Như mọi người đã thấy Menu trên khi ở trang nào thì cái <li> đó sẽ chuyển sang màu xanh, ví dụ Đang ở Home thì <li> "Home" sẽ chuyển sang màu xanh, đang ở Trang Template thì <li> "Template" sẽ chuyển sang màu xanh.
    ...




    Xem code thì thấy trang thí của <li> nào muốn chuyển sang màu xanh thì chỉ cần thêm vào class ="active" -


    nhưng đây là chỉ là code tĩnh, tức là trang Home thì mình phải có 1 cái menu khác với trang Templale ( trang Home thì mình để active" cho <li> home, trang Template thì để active" cho <li> template.

    Mình định làm cái menu này dứoi dạng Usercontrol,muốn hỏi các bạn code cụ thể để biết đc trang hiện tại là trang nào , và sau khi biết rồi thì làm cái nào thay đổi được class cho cái <li> trang đó

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cái này là 1 menu tĩnh. Tức là bạn muốn ứng dụng 1 hiệu ứng động cho 1 menu tĩnh thì có 2 cách:
    1. Bạn cho menu động toàn phần (Tất cả các tag của menu từ code sinh ra)
    2. Bạn cho menu động bán phần (Cái nào cần thay đổi thì bạn cho nó sinh ra từ code, còn những cái nào không phải tùy biến thì cứ cho nó tĩnh)

    Vấn đề cuối cùng là bạn chọn phương thức thực hiện bằng cách nào thôi.
    Thân!

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Nếu bạn muốn làm UserControl thì ở sự kiện PageLoad của usercontrol bạn có thể kiểm tra xem trang hiện tại là trang gì và thêm class active vào tab tương ứng.
    Để biết được trang hiện tại có thể dựa vào url hoặc session cũng được vv...

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi kasuza
    Nếu bạn muốn làm UserControl thì ở sự kiện PageLoad của usercontrol bạn có thể kiểm tra xem trang hiện tại là trang gì và thêm class active vào tab tương ứng.
    Để biết được trang hiện tại có thể dựa vào url hoặc session cũng được vv...
    vâng ý em hỏi chính là cái anh đang nói. ! tức là code cụ thể để biết đc trang hiện tại là trang nào , và sau khi biết rồi thì làm cái nào thay đổi được class cho cái <li> trang đó.

  5. #5
    Từ source tĩnh, bạn cho nó thành động bằng cách viết code cho nó.

    Ví dụ: những cái tag cho cái menu, bạn cho nó vào Literal, label.
    Những cái nào không thay đổi thì bạn cứ viết bình thường.
    Những cái nào thay đổi thì dựa vào cái gì mà bạn cho nó thay đổi? Session, Querystring....
    Từ đó bạn if else để thay đổi cho nó động.

    Ví dụ:

    Mã:
    string strHome = "";if(Session["TrangHienTai"].toString() == Home)    strHome = "Dang o trang chu";else strHome = "Ban khong o trang chu";string strTable = "<table><tr><td>";strTable += strHome;strTable += "</td></tr></table>" this.Label1.Text = strTable;
    Dựa trên đó, bạn sẽ làm được cái mình cần!
    Thân!

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • 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
  •