【发布时间】:2016-08-26 10:54:37
【问题描述】:
在我的应用程序中,我正在计算两个值之间的时间(例如:上午 9 点到下午 3 点),为此我使用的是 Javascript 函数,它工作正常,但是,我想在 gridview 中显示时间,在 gridview 中我是在gridview行中为显示时间创建标签,这里是我尝试过的波纹管代码:
aspx.cs:
DateTime now = DateTime.Now;
DateTime fourOClock = DateTime.Today.AddHours(21.50);
msUntilFour = (int)((fourOClock - now).TotalSeconds);
这里我将 msUntilFour 值发送到 Javascript(以下代码)
<script>
var JavascriptBlah = '<%=msUntilFour%>'
var upgradeTime = JavascriptBlah;
var seconds = upgradeTime;
function timer() {
var days = Math.floor(seconds / 24 / 60 / 60);
var hoursLeft = Math.floor((seconds) - (days * 86400));
var hours = Math.floor(hoursLeft / 3600);
if (hours < 10) {
hours = "0" + hours;
}
var minutesLeft = Math.floor((hoursLeft) - (hours * 3600));
var minutes = Math.floor(minutesLeft / 60);
var remainingSeconds = seconds % 60;
if (remainingSeconds < 10) {
remainingSeconds = "0" + remainingSeconds;
}
document.getElementById('countdown').innerHTML = hours + ":" + minutes + ":" + remainingSeconds;
if (seconds == 0) {
clearInterval(countdownTimer);
document.getElementById('countdown').innerHTML = "Completed";
} else {
seconds--;
}
}
var countdownTimer = setInterval('timer()', 1000);
</script>
然后我显示时间跨度(以下代码)
<h3><span id="countdown" class="timer" ></span></h3>
到这里它工作正常,但我想在 gridview 中显示输出时间,如下所示
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Name" HeaderText="Name" />
<asp:BoundField DataField="CreateTs" HeaderText="Created Time" />
<asp:BoundField DataField="Time Left" HeaderText="Time Remaining" />
<asp:TemplateField HeaderText="Speciality" Visible="true">
<ItemTemplate>
<h3><span id="countdown" class="timer" runat="server" ></span></h3>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
这里我想在 Gridview 模板标签中显示时间。我怎样才能做到这一点 ? 提前谢谢...@
【问题讨论】:
-
似乎您缺少网格视图中每一行的“选择” - 以及您将计算计时器的“每一行”。
标签: javascript c# asp.net gridview