Đếm ngược trong website ASP.NET cho nhiều dòng dữ liệu

Đếm ngược trong website ASP.NET cho nhiều dòng dữ liệu

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 website 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

 

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

Tommy 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

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

 
Những “điểm sáng” trong khối các công ty chứng khoán niêm yết

Những “điểm sáng” trong khối các công ty chứng khoán niêm yết

Nhìn lên những “điểm sáng” trong khối các công ty chứng khoán niêm yết, thông qua các con số, để xem ai đang hơn ai.

Người Việt online gấp đôi thời gian xem TV

Người Việt online gấp đôi thời gian xem TV

81% người Việt tham gia khảo sát của Google truy cập Internet thường xuyên và thời gian dành cho online mỗi ngày là 5,6 giờ.

Osama bin Laden bị phát hiện khi đang ẩn náu ở Pakistan

Khủng bố Osama bin Laden bị phát hiện do dây phơi quần áo

Khi thu thập manh mối về nơi ẩn náu của Osama bin Laden, CIA phát hiện khu nhà có dây phơi chăng đầy quần áo dường như là của gia đình trùm khủng bố

Công ty diệt chuột T&C

 

Diet con trung