C# 如何将Json返回的日期列表传递到视图并在单个文本框展示
实现方案
方案1:前端处理(无需修改现有后端逻辑,优先推荐)
现有返回日期数组的C#代码保持不变,前端拿到JSON响应后直接做拼接即可,示例代码如下:
// 假设ajax请求返回的响应数据存储在res变量中 const dateStr = res.map(item => new Date(item).toLocaleDateString()).join(','); // 赋值给目标文本框 document.getElementById('targetInputId').value = dateStr;
如果需要自定义日期格式,可以封装日期格式化方法处理:
const formatDate = (date) => { const d = new Date(date); const year = d.getFullYear(); const month = String(d.getMonth() + 1).padStart(2, '0'); const day = String(d.getDate()).padStart(2, '0'); return `${year}-${month}-${day}`; } const dateStr = res.map(formatDate).join(',');
该方案适合后续可能需要对单个日期做独立逻辑处理的场景。
方案2:后端轻量处理(代码量极低)
如果希望后端直接返回可直接渲染的字符串,用LINQ+string.Join一行即可完成处理,无需手动拼接字符串:
DateTime? localDate = DateTime.Now; DateTime?[] dateTimes = new DateTime?[] { localDate, localDate, localDate }; // 自定义ToString参数即可调整日期格式 var result = string.Join(",", dateTimes.Select(d => d?.ToString("yyyy-MM-dd"))); return Json(result);
前端拿到响应后直接赋值给文本框即可,无需额外处理。
内容的提问来源于stack exchange,提问作者Mahatma Gandhi
相关产品推荐
相关产品推荐

