我有以下JavaScript函数来确定给定的date
是否是该月的最后一天:
function isLastDayOfMonth(date) {
var parts = date.split(' ');
var mo = parts[0];
var month = parseInt(parts[0]);
var day = parseInt(parts[1]);
var year = parseInt(parts[2]);
if (day == @DateTime.DaysInMonth(year, month)) {
return true;
}
return false;
}
VisualStudio显示语法错误,在当前上下文中找不到year
和month
(在DaysInMonth
的函数调用中。我尝试弄乱@
,因为我不确定那是做什么,但无济于事.Visual Studio建议我启动DaysInMonth
的参数为:year:
然后我假设其他的东西,但我不确定是什么。有人可以帮忙吗?
答案 0 :(得分:3)
@DateTime.DaysInMonth(year, month)
是服务器端方法。 Javascript运行在客户端(在用户的浏览器上),因此两者无法以您尝试的方式直接进行交互。请尝试使用以下Javascript
//month is 0 index in javascript aka Jan = 0
if(day === new Date(year, month+1, 0).getDate())
答案 1 :(得分:1)
看来你在那里混合了asp .net MVC razor语法。你不能运行接收javascript参数的c#函数,因为它们现在只是字符串。
您可以使用剃须刀生成部分JavaScript代码,没关系。但剃须刀只是创建一个字符串发送给客户端。它不是实时的JavaScript代码。 javascript由浏览器中的javascript引擎解释。
答案 2 :(得分:0)
您是否偶然使用Date()对象?我不确定@DateTime等东西是什么,但我认为你想在javascript中使用Date()。