gridView从120秒开始倒计时

时间:2014-06-05 14:05:31

标签: c# asp.net gridview

单击按钮,它会使用会话变量重定向到另一个页面,并在网格视图中显示加载的数据。现在,这个gridview应该有一个倒计时120秒的列,并在超时时禁用它。

同样,当另一个用户从另一个页面点击相同的按钮时,它应该在同一个网格视图中开始倒计时,依此类推。

任何帮助都会非常感谢使用C#和asp.net

<asp:GridView ID="gv_booker" runat="server" AutoGenerateColumns="false">
    <Columns>
     <asp:TemplateField HeaderText="countdown">
       <ItemTemplate>
           <h1 id="timest" style="text-align: center"></h1>
               <script type="text/javascript">
                var milisec = 0
                var seconds = 120
                document.getElementById("timest").innerHTML = '120'
                function display()
                   {
                       if (milisec <= 0) {milisec = 9 seconds -= 1}
                       if (seconds <= -1) {milisec = 0 seconds += 1}
                       else
                       milisec -= 1                                     
                       document.getElementById("timest").innerHTML = seconds
                       setTimeout(display, 1000)
                   }
                display(
           </script>
        </ItemTemplate>
     </asp:TemplateField>

2 个答案:

答案 0 :(得分:0)

关于应用程序的一些更具体的细节会很棒,但是对于&#34; gridview应该有一个倒计时120秒的列,并在超时时禁用超链接。&#34;担心这很简单。

您只需要维护一个计时器,并且在其Tick上,您可以在gridview列中显示倒计时,一旦达到120秒,您就可以禁用/启用超链接。

希望这有帮助。

答案 1 :(得分:0)

我将假设您正在将此作为网络表单等。

您需要查找的只是通过计时器操纵控件。由于代码被渲染为html(即,一旦呈现,您的c#不会影响网页)。这意味着你必须使用&#39; javascript&#39;实现这一目标。

在java脚本中你有3件事。

  1. 对表单控件的引用
  2. 执行一些代码的计时器
  3. 执行您想要的实际代码(在您的情况下,超链接更改)
  4. 如果这不是一个webform而是一个winform,那么你可以有一个异步任务来运行代码来执行对表单控件的更改。

    表单控件=按钮,文本框,gridview,listview等。