You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JavaScript向ASP.NET Label写入日期时间不生效如何解决

问题根因

你使用的是ASP.NET Web Forms的服务器端Label控件,默认配置下,带runat="server"属性的控件会根据所处的容器层级(比如母版页、用户控件、数据绑定容器)自动生成不同于服务器端ID的客户端ID,你在浏览器中查看渲染后的页面源码会发现该Label的实际ID不是display1,因此document.getElementById('display1')无法匹配到对应元素,赋值操作自然失效。

解决方案

你可以任选以下任意一种方案实现需求:

方案1:固定客户端ID(最简单通用)

给Label控件添加ClientIDMode="Static"属性,强制控件客户端渲染的ID和服务器端ID保持一致,不需要修改原有JS代码。
修改后的ASPX代码如下:

<tr>
  <td colspan="4" style="height: 26px">
      <asp:Label ID="display1" runat="server" ClientIDMode="Static"></asp:Label>
  </td>
</tr>

方案2:服务端输出实际客户端ID

如果你不方便修改ClientIDMode属性,可以直接在JS中通过ASP.NET内嵌表达式获取控件的实际客户端ID,修改JS代码如下:

window.onload = function() {
    var today = new Date();
    var day = today.getDay();
    var daylist = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
    var date = today.getFullYear() + '-' + (today.getMonth() + 1) + '-' + today.getDate();
    var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
    var datetime = date + ' ' + time;
    // 此处通过内嵌表达式输出控件实际客户端ID
    document.getElementById('<%= display1.ClientID %>').innerHTML = datetime + '<br> Day: ' + daylist[day];
};

特殊场景适配

如果你的Label控件放在UpdatePanel局部刷新容器中,window.onload只会在页面首次全量加载时触发,局部刷新后会失效,需要改用局部刷新事件绑定执行逻辑:

// 页面首次加载+UpdatePanel局部刷新后都会执行
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(function() {
    var today = new Date();
    var day = today.getDay();
    var daylist = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
    var date = today.getFullYear() + '-' + (today.getMonth() + 1) + '-' + today.getDate();
    var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
    var datetime = date + ' ' + time;
    document.getElementById('<%= display1.ClientID %>').innerHTML = datetime + '<br> Day: ' + daylist[day];
});

内容的提问来源于stack exchange,提问作者user13185233

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 02:57:03