Đế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

 
Để Google Index nhanh hơn

Để Google Index nhanh hơn

Hầu hết những chuyên gia SEO đều khuyên bạn nên mua 1 site domain đã cũ để được Google đánh giá cao hơn và dễ Index hơn, nhưng nếu như bạn bắt đầu tạo 1 website mới thì sao?

Hướng dẫn sử dụng Drupal Views and Isotope

Hướng dẫn sử dụng Drupal Views and Isotope

When I was trying to decide how I would lay out my "Recent Work" section for this site, I was intrigued by a style called masonry.

PSR là gì? Tìm hiểu chuẩn các PSR-0, PSR-4

PSR là gì? Tìm hiểu chuẩn các PSR-0, PSR-4

PSR stands for PHP Standards Recommendation - these are documents which lay out how the PHP community has agreed things will be done

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

 

Diet con trung