• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ASP.net在网页上显示当前时间,利用AJAX不刷新网页

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

前台页面代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>当期日期时间</title>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <div>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <asp:Timer ID="Timer1" runat="server" Interval="1000" OnTick="Timer1_Tick">
                </asp:Timer>
                <asp:Label ID="lblTime" runat="server" Text=""></asp:Label>
            </ContentTemplate>
        </asp:UpdatePanel>
    </div>
    </form>
</body>
</html>

后台CS代码:

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Globalization;
public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    /// <summary>
    /// 事件发生改变
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Timer1_Tick(object sender, EventArgs e)
    {
        //第一种方法获取星期几
        //string[] str1 = { "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日" };
        //string str2 = DateTime.Now.ToString("tt") == "上午" ? "AM" : "PM";
        //lblTime.Text = "当前时间为:" + DateTime.Now.ToString("yyyy年MM月dd日") + "&nbsp;&nbsp;&nbsp;" +
        //    str1[Convert.ToInt32(DateTime.Now.DayOfWeek)] + "&nbsp;&nbsp;&nbsp;" + DateTime.Now.ToLongTimeString()+;
        //第二种方法获取星期几
        string str = DateTime.Now.ToString("tt") == "上午" ? "AM" : "PM";
        lblTime.Text = "当前时间为:" + DateTime.Now.ToString("yyyy年MM月dd日") + "&nbsp;&nbsp;&nbsp;" +
             CultureInfo.GetCultureInfo("zh-cn").DateTimeFormat.GetDayName(DateTime.Now.DayOfWeek) + "&nbsp;&nbsp;&nbsp;" +
             DateTime.Now.ToLongTimeString() + "&nbsp;&nbsp;&nbsp;" + str;
    }
}

 

相关知识:
    ·UpdatePanel内放置需要被刷新的控件,如果是其内部控件事件导致其刷新,则不用另外做什么设置,因为UpdatePanel默认ChildrenAsTriggers="true"。
    ·如果是UpdatePanel外部控件导致其刷新的话,则应设置 Triggers。
    ·在Triggers内,如果AsyncPostBackTrigger未设置EventName,则为其指定控件的默认事件。
    ·UpdatePanel默认UpdateMode="Always",需要的话应设置UpdateMode="Conditional"。
    ·RenderMode="Block"对应div;RenderMode="Inline"对应span

举例:定时器控件Timer2在UpdatePannel外面,则设置如下,见黄色部分:

<asp:scriptmanager ID="Scriptmanager1" runat="server"></asp:scriptmanager>
<asp:updatepanel ID="Updatepanel1"  runat="server">
    <ContentTemplate>
        <asp:Timer ID="Timer1" Interval="1000" runat="server" ontick="Timer1_Tick" >
        </asp:Timer>
        <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
        <p></p>
        <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
    </ContentTemplate>
    <Triggers>
    <asp:AsyncPostBackTrigger ControlID="Timer2" EventName="Tick"  />
    </Triggers>
</asp:updatepanel>
    </div>
    <asp:Timer ID="Timer2" runat="server" Interval="3000" ontick="Timer2_Tick">
    </asp:Timer>

 

 

推荐阅读:

 
这是用JS实现的。

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap