Hướng dẫn sử dụng lồng các control trong ASP.Net

Hướng dẫn sử dụng lồng các control trong ASP.Net

Khi xây dựng một website, nhiều khi bạn phải thực hiện lồng các control để hiển thị dữ liệu, vd như hiển thị các bài viết theo đúng danh mục của nó. Ở đây, WEBXAULA sẽ minh hoạ cách lồng một Datalist trong một Gridview.

Hướng dẫn sử dụng lồng các control trong ASP.Net

 Đầu tiên, bạn chuẩn bị cơ sở dữ liệu mẫu như sau:

Database - Sử dụng lồng các control

Code html trong trang aspx viết như sau:

<asp:GridView ID="DS_DanhMuc" runat="server" AutoGenerateColumns="False"

            ShowHeader="false" onrowdatabound="DS_DanhMuc_RowDataBound">

            <Columns>

                <asp:TemplateField>

                <ItemTemplate>

                    <%# Eval("danhmucName") %>

                    <asp:Literal ID="lblMa" Text=<%# Eval("danhmucID") %> Visible="false" runat="server"></asp:Literal>                   

<asp:DataList ID="DS_SanPham" runat="server" RepeatColumns="3">

                    <ItemTemplate>

                        <img width="100px" src=<%# "hinh/sanpham/" + Eval("hinh") %> />

                        <br />

                        <%# Eval("sanphamName") %>

                    </ItemTemplate>

                    </asp:DataList>


                </ItemTemplate>

                </asp:TemplateField>

            </Columns>

        </asp:GridView>
 
Code C#: 

Bạn viết hàm để lấy dữ liệu hiển thị cho phần danh mục, ở đây tôi dùng Linq để tiến hành truy vấn dữ liệu.

private void HienDuLieu()
    {
        try

        {

            ketnoiDataContext pKetNoi = new ketnoiDataContext();

            var pDanhMuc = from p in pKetNoi.DanhMucs

                           orderby p.DanhMucID descending

                           select p;

            DS_DanhMuc.DataSource = pDanhMuc;

            DS_DanhMuc.DataBind();

        }

        catch (Exception ex)

        {

            Response.Write(ex.Message.ToString());

        }

    }

Gridview bao bên ngoài ta sẽ tạo sự kiện RowDataBound để xử lý từng dòng dữ liệu được bind vào gridview.

protected void DS_DanhMuc_RowDataBound(object sender, GridViewRowEventArgs e)

    {
        if (e.Row.RowIndex < 0) return;

        DataList DS_SanPham = (DataList)e.Row.FindControl("DS_SanPham");

        Literal lblMa = (Literal)e.Row.FindControl("lblMa");

        ketnoiDataContext pKetNoi = new ketnoiDataContext();

        var pSanPham = from p in pKetNoi.SanPhams

                       where p.DanhMucID == Int32.Parse(lblMa.Text)

                       select p;

        DS_SanPham.DataSource = pSanPham;

        DS_SanPham.DataBind();

    }

Bạn chú ý trong Gridview tôi có để một literal để lấy mã của danh mục tương ứng và từ đó hiển thị sản phẩm lên Datalist theo đúng danh mục đó. Do không cần hiển thị nên literal này ta set visible = false.

Về giao diện thì bạn có thể tuỳ chỉnh sao cho đẹp mắt là được. Chúc các bạn thành công.

Bạn thấy bài viết này như thế nào?: 
Average: 10 (1 vote)
Ảnh của Tommy Tran

Tommy Tran owner Express Magazine

Drupal Developer having 9+ year experience, implementation and having strong knowledge of technical specifications, workflow development. Ability to perform effectively and efficiently in team and individually. Always enthusiastic and interseted to study new technologies

  • Skype ID: tthanhthuy
  • Phone/Zalo: (+84) 944 225 212
  • WhatsApp: (+84) 944 225 212
  • Line Messenger: (+84) 944 225 212
  • Email: [email protected]
  • Telegram Messenger: https:/t.me/tommytran0401

Quảng cáo việc làm

 

Thích hợp các bạn nữ mảng thợ may làm việc tại nước NGA

Đơn hàng Tuyển dụng 100 Thợ may đi Nga(đợt 1 tháng 3.2021, đợt 2 tháng 5.2021). Lương thực lãnh 800 USD, bao ăn ở, vé máy bay và visa, phí xuất cảnh(1800 USD)trả khi đi làm có lương. Bạn có thể liên hệ CÔNG TY qua Phone/Zalo: (+84) 944 225 212. Công ty sẽ tư vấn cho bạn.

Xem chi tiết: >>> https://bit.ly/3o9NOfR

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Hướng dẫn custom entity reference: Drupal & Entity reference

Hướng dẫn custom entity reference: Drupal & Entity reference

There are some good examples out there on how to create a custom Entity reference Behaviour plugin, but not so much for Selection handlers.

Apple sẽ sử dụng camera 3D lên các sản phẩm tiếp theo

Apple sẽ sử dụng camera 3D lên các sản phẩm tiếp theo

Apple có thể đang trong quá trình chuẩn bị để mang camera 3D lên các thiết bị tiếp theo của hãng.

Tìm hiểu Drupal Recipe.module trong Drupal 7

Tìm hiểu Drupal Recipe.module trong Drupal 7

The Drupal Recipe module is an easy way to add the ability to put cooking recipes on your Drupal 7 site.

BLOG POSTS

 

Wordpress Freelancer

 

Wordpress Freelancer