2014-06-05 155 views
-2

點擊一個按鈕後,它使用會話變量重定向到另一個頁面,並在GridView中顯示加載的數據。現在這個GridView應該有一個倒計時120秒的列,並在超鏈接過期時禁用它。gridView從120秒倒計時

同樣,當另一個用戶從不同的頁面點擊相同的按鈕時,它應該在同一個gridview中開始倒計時,等等。

任何幫助將使用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

這聽起來像一個偉大的項目。我建議你發佈你已經嘗試過的代碼以及你收到的任何錯誤。這不是一個「爲我做這件事」的網站。 – paqogomez

回答

0

關於應用程序更具體一點的細節將是巨大的是真的很感謝,但至於「gridview的應該有120倒計時一列秒,並在超鏈接過期時禁用該超鏈接。「擔心這很簡單。

您只需要維護一個計時器,並在其Tick上使倒計時顯示在gridview列中,一旦達到120秒就可以禁用/啓用超鏈接。

希望這會有所幫助。

0

我要去假設你正在做這個作爲一個WebForm等

所有你需要查找通過定時器操縱控制。由於代碼以html形式呈現(即,您的c#在渲染後不會影響網頁)。這意味着你必須使用'javascript'來實現這一點。

在java腳本中你有3件事情。

  1. 的引用到窗體控件
  2. 執行一些代碼
  3. 實際的代碼做你想要的東西(你的情況的超級鏈接變化)

如果這個計時器不是一個webform,而是一個winform,那麼你可以有一個異步任務,它運行代碼來執行對窗體控件的更改。

窗體控件=按鈕,文本框,gridview,列表視圖等。

+0

這是一個網絡表格 – user3101591

+0

然後這是你必須處理這個問題的卡邁勒。您必須使用可執行定時器的JavaScript函數,並執行禁用超鏈接的代碼。 – JARRRRG