Javascript不接受使用Razor和MVVM的Date或String作为参数

时间:2014-03-12 02:56:03

标签: c# javascript html razor mvvm

我的JavaScript方法没有触发或提供的值不正确。

使用Javascript:

function JSMethod(UserID, medalDate, medalCategory{
    //Do things.
};

HTML:

//MediaList consists of: int UserID, DateTime DateEarned, string Reason
@foreach (var medal in @Model.medalList)
{
    <a onclick="JSMethod(@medal.UserID, @medal.DateEarned.ToShortDateString(), @medal.Reason.ToString())" click here</a> 
}

JavaScript方法似乎没有将@model.Reason作为参数,将字符串传递给Javascript函数是否有问题?

当传递日期(@medal.DateEarned)时,要么忽略它,要么将其作为ToString('DD/MM/YYYY')传递,并最终划分,例如,12/03/2014导致传入的参数0.00198 ......

有没有让我的JavaScript函数接受我的日期时间和字符串作为参数?

感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

混合使用Razor和JavaScript时,您必须记住两种语言的语法:在这种情况下,您需要在注入Razor的值中使用JavaScript中的引号:

<a onclick="JSMethod(@medal.UserID, '@medal.DateEarned.ToShortDateString()', '@medal.Reason.ToString()')" click here</a>

请注意日期和原因字符串周围的刻度线。如果UserID不是数字,它也需要滴答。