Kiến thức

Tìm kiếm
Hỗ trợ trực tuyến
Hỗ trợ trực tuyến - toankhoa1008
Mr.Khoa - 0909 017 015
Khuyến mãi
Khuyến mãi
Đối tác
Kiến thức thiết kế
Đếm ngược trong ASP.NET cho nhiều dòng dữ liệu
4/23/2012 3:15:48 PM
Trong bài viết trước, WEBXAULA đã giới thiệu với các bạn cách làm đồng hồ đếm ngược trong asp.net. Có nhiều bạn phản hồi hỏi mình cách làm cho nhiều dòng dữ liệu, ở đây tôi sẽ giới thiệu đến các bạn cách hiển thị đồng hồ đếm ngược theo từng dữ liệu khác nhau.
Đếm ngược trong ASP.NET cho nhiều dòng dữ liệu

Bài viết liên quan: Đếm ngược trong asp.net

 

Đầu tiên, trong code html bạn viết như sau:

 

 

<asp:DataList ID="DS_DauGia" runat="server" >
    <ItemTemplate>
        <asp:Literal ID="lblMa" Text=<%# Eval("daugiaID") %> runat="server"></asp:Literal>
        <asp:Literal ID="lblGiay" Text=<%# Eval("hanchot") %> runat="server"></asp:Literal>
        <div id="timelabel<%# Eval("daugiaID") %>"></div>
 
    </ItemTemplate>
    </asp:DataList>
    <%=HienScript() %>
 
Ở đây tôi dùng Datalist để hiển thị dữ liệu. Bạn có thể dùng control khác tương tự và trình bày lại cho đẹp mắt.
 
Trong code C# bạn viết như sau:
 
protected void Page_Load(object sender, EventArgs e)
    {
        //seconds = (GetEndTime() - GetStartTime()).TotalSeconds;
        HienDuLieu();
    }
    private DateTime GetStartTime()
    {
        return DateTime.Now;
    }
    private DateTime GetEndTime(DateTime pNgay)
    {
        //return new DateTime(2010, 5, 06, 8, 10, 0);
        return new DateTime(pNgay.Year, pNgay.Month, pNgay.Day, pNgay.Hour, pNgay.Minute, pNgay.Second);
    }
 
    private void HienDuLieu()
    {
        ketnoiDataContext pKetNoi = new ketnoiDataContext();
        var pDauGia = from p in pKetNoi.DauGias
                      select p;
 
       
 
        DS_DauGia.DataSource = pDauGia;
        DS_DauGia.DataBind();
    }
    public string HienScript()
    {
        string pKQ = "";
        //string pSQL = "SELECT * From giatot where isHome = 1 order by giatotID desc";
        //bang pBang = new bang(pSQL);
 
        //if (pBang.Rows.Count <= 0) return "";
 
        for (int i = 0; i <= DS_DauGia.Items.Count - 1; i++)
        {
            Literal lblGiay = (Literal)DS_DauGia.Items[i].FindControl("lblGiay");
            Literal lblMa = (Literal)DS_DauGia.Items[i].FindControl("lblMa");
            string pMa = lblMa.Text;
            DateTime pNgayKetThuc = DateTime.Parse(lblGiay.Text);
 
            double seconds = (GetEndTime(pNgayKetThuc) - GetStartTime()).TotalSeconds;
 
            pKQ += "<script type=\"text/javascript\">"+
                        "var leave" + pMa + " = " + seconds + ";"+
                        "CounterTimer" + pMa + "();" +
                        "var interv=setInterval(CounterTimer" + pMa + ",1000);" +
                        "function CounterTimer" + pMa + "()" +
                        "{"+
                        "var day" + pMa + " = Math.floor(leave" + pMa + " / ( 60 * 60 * 24));" +
                        "var hour" + pMa + " = Math.floor(leave" + pMa + " / 3600) - (day" + pMa + " * 24);" +
                        "var minute" + pMa + " = Math.floor(leave" + pMa + " / 60) - (day" + pMa + " * 24 *60) - (hour" + pMa + " * 60);" +
                        "var second" + pMa + " = Math.floor(leave" + pMa + ") - (day" + pMa + " * 24 *60*60) - (hour" + pMa + " * 60 * 60) - (minute" + pMa + "*60);" +
                        "hour" + pMa + "=hour" + pMa + "<10 ? \"0\" + hour" + pMa + " : hour" + pMa + ";" +
                        "minute" + pMa + "=minute" + pMa + "<10 ? \"0\" + minute" + pMa + " : minute" + pMa + ";" +
                        "second" + pMa + "=second" + pMa + "<10 ? \"0\" + second" + pMa + " : second" + pMa + ";" +
                        "var remain" + pMa + "=day" + pMa + " + \" days   \"+hour" + pMa + " + \":\"+minute" + pMa + "+\":\"+second" + pMa + ";" +
                        "leave" + pMa + "=leave" + pMa + "-1;" +
                        "document.getElementById(\"timelabel" + pMa + "\").innerHTML=remain" + pMa + ";" +
                        "}"+
                        "</script>";
            //
 
        }
        return pKQ;
    }
 
 
Chúc các bạn thành công.

 

Cám ơn các bạn đã đọc bài viết này. Nếu bạn cảm thấy bài viết này hay và có ích thì hãy ấn +1 hoặc like để khích lệ tác giả bài viết nhé, và nếu được thì share cho bạn bè cùng đọc. Thanks ^o^

Bài viết liên quan


4/22/2012 2:11:39 PM
Một trong những bước quan trọng khi tiến hành tối ưu hoá website là sử dụng URL thân thiện với google. Trong bài viết này WEBXAULA sẽ giới t [....]
4/20/2012 11:49:27 AM
Trong các website thường có phần liên hệ để người dùng liên hệ với quản lý website đó. Trong bài viết này, WEBXAULA làm form liên hệ như WEB [....]
4/20/2012 11:17:54 AM
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 [....]
4/17/2012 4:45:36 PM
reCaptcha là 1 dịch vụ giúp chúng ta có thể chống lại bot, và những submit không phải do con người (do engine). Bài viết này sẻ hướng dẫn cá [....]
4/17/2012 4:38:54 PM
Bạn nhận một đơn đặt hàng thiết kế website yêu cầu có một đồng hồ thời gian đếm ngược (VD: đấu giá, thời gian khuyến mãi, v.v...) nhưng làm [....]
4/17/2012 4:29:58 PM
Có khá nhiều cách để export dữ liệu ra file excel. WEBXAULA sẽ đơn cử một phương pháp khá đơn giản (không cần phải chèn thêm thư viện bên ng [....]
3/6/2012 6:34:18 PM
Không có một bí quyết nào về việc đẩy mạnh doanh số bán hàng qua Internet. Bạn thu hút sự chú ý của đông đảo mọi người và gia tăng các khách [....]
1 2
Doanh Nghiệp Tư Nhân TM DV TAHI TAKA
Văn phòng: G7, ấp Mỹ Hoà 2, xã Xuân Thới Đông, huyện Hóc Môn, TPHCM
Điện thoại: (84-8) 6250 1751 - 0909.017.015
Email: contact@webxaula.com - ktwebpro@gmail.com
Website: www.webxaula.com