在ASP.NET中维护基于Ajax的倒数计时器的状态

哈门德拉

我已经由Code Project上的4332221会员在互联网上的代码帮助下创建了一个倒计时计时器,并且其中进行了一些更新,并且我正在一个项目上使用此计时器进行在线测试

以下是代码

aspx代码

<div>
<asp:ScriptManager ID= "SM1" runat="server"></asp:ScriptManager>
<asp:Timer ID="timer1" runat="server" 
Interval="1000" OnTick="timer1_tick"></asp:Timer>
</div>

<div>
<asp:UpdatePanel id="updPnl" 
runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="lblTimer" runat="server"></asp:Label>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="timer1" EventName ="tick" />
</Triggers>
</asp:UpdatePanel>
</div>

aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
    if (!SM1.IsInAsyncPostBack)
        Session["timeout"] = DateTime.Now.AddMinutes(1).ToString();
}

protected void timer1_tick(object sender, EventArgs e)
{
    if (0 > DateTime.Compare(DateTime.Now,
    DateTime.Parse(Session["timeout"].ToString())))
    {
        int hrs = (((Int32)DateTime.Parse(Session["timeout"].
        ToString()).Subtract(DateTime.Now).TotalMinutes)) / 60;

        int mins = (((Int32)DateTime.Parse(Session["timeout"].
        ToString()).Subtract(DateTime.Now).TotalMinutes)) % 60;

        int seconds = (((Int32)DateTime.Parse(Session["timeout"].
        ToString()).Subtract(DateTime.Now).TotalSeconds))%60;


        lblTimer.Text = "Time left is " + hrs.ToString() + " : " + mins.ToString() + " : " + seconds.ToString();

        if (hrs == 0 && mins == 0 && seconds == 0)
        {
            lblTimer.Text = "Test Time Over";
        }
    }
}

如果我单独运行,此代码可以正常工作,但是问题是,如果我在我想在按钮单击事件上启动该模块的模块中应用此代码,则该代码只能运行一次,而在单击任何其他按钮时,计时器将返回初始状态。位置。

我尝试申请,Postback = false但计时器未显示。

如何在单击按钮时加载此计时器,并在其他控件的单击事件中保持其状态

达瓦尔

只需更改Page_Load以下事件即可..我刚刚添加了一个条件(Session["timeout"] == null || Convert.ToString(Session["timeout"]).Trim() == "")

这是我的aspx代码


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ScriptManager ID="SM1" runat="server">
        </asp:ScriptManager>
        <asp:Timer ID="timer1" runat="server" Interval="1000" OnTick="timer1_tick">
        </asp:Timer>
    </div>
    <div>
        <asp:UpdatePanel ID="updPnl" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
                <asp:Label ID="lblTimer" runat="server"></asp:Label>
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="timer1" EventName="tick" />
            </Triggers>
        </asp:UpdatePanel>
        <asp:Button ID="btn2" runat="server" Text="Clickkkk" onclick="btn2_Click" />
    </div>
    </form>
</body>
</html>

以下是我的.cs代码,如您所见,我已经有按钮,并且单击按钮后值仍然存在


  protected void Page_Load(object sender, EventArgs e)
    {
        if (!SM1.IsInAsyncPostBack && (Session["timeout"] == null || Convert.ToString(Session["timeout"]).Trim() == ""))
            Session["timeout"] = DateTime.Now.AddMinutes(3).ToString();
    }
    protected void timer1_tick(object sender, EventArgs e)
    {
        if (0 > DateTime.Compare(DateTime.Now,
        DateTime.Parse(Session["timeout"].ToString())))
        {
            int hrs = (((Int32)DateTime.Parse(Session["timeout"].
            ToString()).Subtract(DateTime.Now).TotalMinutes)) / 60;

            int mins = (((Int32)DateTime.Parse(Session["timeout"].
            ToString()).Subtract(DateTime.Now).TotalMinutes)) % 60;

            int seconds = (((Int32)DateTime.Parse(Session["timeout"].
            ToString()).Subtract(DateTime.Now).TotalSeconds)) % 60;


            lblTimer.Text = "Time left is " + hrs.ToString() + " : " + mins.ToString() + " : " + seconds.ToString();

            if (hrs == 0 && mins == 0 && seconds == 0)
            {
                lblTimer.Text = "Test Time Over";
            }
        }
    }

    protected void btn2_Click(object sender, EventArgs e)
    {
        Response.Write("asdasdsa");
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在ASP.NET中维护基于Ajax的倒数计时器的状态

来自分类Dev

asp.net页面中Ajax中的倒数计时器

来自分类Dev

ASP.NET C# AJAX 控件倒数计时器仅在硬编码未来时间时才有效

来自分类Dev

如何在ASP.NET MVC中添加计时器倒计时操作

来自分类Dev

如何在asp.net中正确减少Ajax计时器?

来自分类Dev

asp.net计时器是否清除缓存?

来自分类Dev

asp.net中的计时器可以在localhost正常运行,但不能在线运行

来自分类Dev

1滴答后,ASP.Net(语言C#)中的计时器停止

来自分类Dev

ASP.NET应用程序中的计时器控制

来自分类Dev

如何在jquery中使用计时器,同时刷新asp.net中的页面

来自分类Dev

ASP.NET线程计时器中的用户和权限问题

来自分类Dev

已发布的 asp.net mvc 网站中的计时器问题

来自分类Dev

MVC asp.net服务器端计时器,以防止用户编辑计时器

来自分类Dev

asp.net核心托管服务中的“计时器+ Task.Run”与“ while循环+ Task.Delay”

来自分类Dev

asp.net中的计时器可以在localhost上正常运行,但不能在线运行

来自分类Dev

asp.net中的计时器可以在localhost上正常运行,但不能从外部运行

来自分类Dev

在vb.net中倒数计时器

来自分类Dev

asp.net计时器事件可以使服务器繁忙吗?

来自分类Dev

Ajax呼叫和倒数计时器

来自分类Dev

基于用户输入的Javascript倒数和倒数计时器

来自分类Dev

计时器的ASP.NET更新数据列表不起作用

来自分类Dev

asp.net:计时器触发不正确的updatepanel

来自分类Dev

使用UpdatePanel的ASP.Net C#AjaxControlToolkit计时器故障

来自分类Dev

倒数计时器中的重置按钮

来自分类Dev

文字检视中的倒数计时器

来自分类Dev

Android中更快的倒数计时器

来自分类Dev

ASP.NET计时器重置页面刷新

来自分类Dev

如何在倒数计时器中显示倒数

来自分类Dev

创建基于字符串的倒数计时器

Related 相关文章

  1. 1

    在ASP.NET中维护基于Ajax的倒数计时器的状态

  2. 2

    asp.net页面中Ajax中的倒数计时器

  3. 3

    ASP.NET C# AJAX 控件倒数计时器仅在硬编码未来时间时才有效

  4. 4

    如何在ASP.NET MVC中添加计时器倒计时操作

  5. 5

    如何在asp.net中正确减少Ajax计时器?

  6. 6

    asp.net计时器是否清除缓存?

  7. 7

    asp.net中的计时器可以在localhost正常运行,但不能在线运行

  8. 8

    1滴答后,ASP.Net(语言C#)中的计时器停止

  9. 9

    ASP.NET应用程序中的计时器控制

  10. 10

    如何在jquery中使用计时器,同时刷新asp.net中的页面

  11. 11

    ASP.NET线程计时器中的用户和权限问题

  12. 12

    已发布的 asp.net mvc 网站中的计时器问题

  13. 13

    MVC asp.net服务器端计时器,以防止用户编辑计时器

  14. 14

    asp.net核心托管服务中的“计时器+ Task.Run”与“ while循环+ Task.Delay”

  15. 15

    asp.net中的计时器可以在localhost上正常运行,但不能在线运行

  16. 16

    asp.net中的计时器可以在localhost上正常运行,但不能从外部运行

  17. 17

    在vb.net中倒数计时器

  18. 18

    asp.net计时器事件可以使服务器繁忙吗?

  19. 19

    Ajax呼叫和倒数计时器

  20. 20

    基于用户输入的Javascript倒数和倒数计时器

  21. 21

    计时器的ASP.NET更新数据列表不起作用

  22. 22

    asp.net:计时器触发不正确的updatepanel

  23. 23

    使用UpdatePanel的ASP.Net C#AjaxControlToolkit计时器故障

  24. 24

    倒数计时器中的重置按钮

  25. 25

    文字检视中的倒数计时器

  26. 26

    Android中更快的倒数计时器

  27. 27

    ASP.NET计时器重置页面刷新

  28. 28

    如何在倒数计时器中显示倒数

  29. 29

    创建基于字符串的倒数计时器

热门标签

归档