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

如何在MVC项目中通过jQuery传递dd/mm/yyyy格式的日期参数

问题原因

你传入JS函数的日期参数没有被引号包裹,JavaScript会把dd/mm/yyyy格式里的/识别为除法运算符,自动执行数值计算,01/12/2021会被解析为1 ÷ 12 ÷ 2021,最终得到你看到的极小数值结果。

解决方案

1. 修改锚标签渲染代码

给函数参数包裹转义单引号,同时显式指定日期输出格式,保证输出符合你需要的dd/mm/yyyy结构:

<a href='javascript:ViewDocDetails(\'@item.UploadDate.ToString("dd/MM/yyyy")\')'>@Html.DisplayFor(modelItem => item.UploadDate)</a>

修改后页面渲染的最终代码会变成如下结构,参数会被识别为字符串不会触发运算:

<a href='javascript:ViewDocDetails("01/12/2021")'>01/12/2021</a>

2. 可选优化(适配AJAX提交)

如果后续要将该日期通过AJAX发送给MVC控制器,建议统一转成yyyy-MM-dd格式避免后端解析出错,JS处理逻辑参考:

function ViewDocDetails(UploadDate) {
   alert(UploadDate); // 此时已经可以正常输出日期字符串
   // 适配后端解析的格式转换逻辑
   const [day, month, year] = UploadDate.split('/');
   const ajaxDateParam = `${year}-${month}-${day}`;
   // 后续AJAX发送逻辑
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 07:06:00