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

ASP.NET/C#实现内容页自动显示客户端时间(无点击事件)

客户端时间自动填充到txt2的分步实现

我来帮你搞定这个问题~你的原代码存在语法错误、未自动触发执行,且时间格式不符合需求,下面是详细的实操指南:

一、核心问题分析

你的代码有三个关键问题:

  • 函数定义语法错误:(function $ { ... }); 写法不对,无法被浏览器正确解析
  • 未自动执行:只是定义了函数,但没有触发它在页面加载时运行
  • 时间格式不符:toUTCString()返回的是完整UTC时间串,不是你要的dd MMM格式

二、完整实现步骤

步骤1:在内容页添加脚本(推荐位置)

打开你的内容页,找到对应母版页holder1的<asp:Content>控件,在其中添加以下代码:

注意:如果你的项目已经引入过jQuery,就删掉第一个引入jQuery的<script>标签,避免重复加载

<!-- 引入jQuery(如果项目没引入的话) -->
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script>
// 页面加载完成后自动执行
$(document).ready(function() {
    // 获取当前客户端本地日期
    const currentDate = new Date();
    // 定义英文月份缩写数组
    const monthAbbrs = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", 
                        "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
    // 拼接成 dd MMM 格式(比如31 May)
    const formattedDate = `${currentDate.getDate()} ${monthAbbrs[currentDate.getMonth()]}`;
    // 找到txt2的客户端真实ID并赋值(ASP.NET服务器控件会生成动态ID)
    $("#<%= txt2.ClientID %>").val(formattedDate);
});
</script>

步骤2:确认txt2的服务器控件定义

确保你的内容页中txt2是ASP.NET服务器控件,代码如下:

<asp:TextBox ID="txt2" runat="server"></asp:TextBox>

这里的runat="server"很重要,不然无法通过<%= txt2.ClientID %>获取客户端真实ID

步骤3:测试运行

启动项目加载内容页,txt2会自动填充当前客户端的日期,格式完全符合你的要求~

三、无jQuery的备选方案

如果你的项目不想依赖jQuery,用原生JavaScript也能实现,代码替换成这样即可:

<script>
// 页面加载完成后执行
window.addEventListener('load', function() {
    const currentDate = new Date();
    const monthAbbrs = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", 
                        "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
    const formattedDate = `${currentDate.getDate()} ${monthAbbrs[currentDate.getMonth()]}`;
    // 找到txt2并赋值
    document.getElementById('<%= txt2.ClientID %>').value = formattedDate;
});
</script>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:56:52