实际上,我正在开发一个旧的现有 ASP.NET 项目。 我的任务是将一周输出的第一个日期添加到日历周输出中。
示例:
数据来自 ASP.NET 模型。
实际上它的工作原理是这样的:
function SetCalendarWeeks(data) {
$("#calendarWeek1").text("KW "+data.Week1.Number);
$("#calendarWeek2").text("KW "+data.Week2.Number);
$("#calendarWeek3").text("KW "+data.Week3.Number);
$("#calendarWeek4").text("KW "+data.Week4.Number);
$("#calendarWeek5").text("KW "+data.Week5.Number);
if (!data.MonthHas6Weeks) {
$(".collapsable").hide();
$(".dummyColumn").show();
if (data.HideLastInputbox) {
$("#planned10").hide();
} else {
$("#planned10").show();
}
} else {
$("#calendarWeek6").text("KW " + data.Week6.Number);
$(".collapsable").show();
$(".dummyColumn").hide();
$("#planned10").show();
if (data.HideLastInputbox) {
$("#planned12").hide();
} else {
$("#planned12").show();
}
}
我尝试添加以下内容:
document.getElementById("calendarWeek1").innerHTML = "KW "+data.Week1.Number+" <span class='firstDate'>"+data.Week1.FirstDate+"</span>";
但是我得到了这个:
有人可以帮我吗?
最佳答案
您需要将模型返回的日期转换为 JavaScript 日期。
您的模型返回的日期采用以下格式:
/Date(1475272800000)/
我做了一个函数来转换你的日期;如果参数 short
为 true
,则日期将转换为格式 DD.MM.YYYY
:
function ConvertDate(d, short) {
var regex = /-?\d+/;
var match = regex.exec(d);
var date = new Date(parseInt(match[0]))
if (short) {
date = ("0" + date.getDate()).slice(-2) + "." + ("0" + (date.getMonth() + 1)).slice(-2) + "." + date.getFullYear();
}
return date;
}
所以你可以像这样使用这个函数:
ConvertDate(data.Week1.FirstDate, true)
全行:
document.getElementById("calendarWeek1").innerHTML = "KW "+data.Week1.Number+" <span class='firstDate'>"+ConvertDate(data.Week1.FirstDate, true)+"</span>";
关于javascript - 在 JavaScript 中输出 ASP.NET 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46784619/