Javascript 如何查找数据类型而不是页面类型

Javascript 如何查找数据类型而不是页面类型,javascript,jquery,umbraco,jquery-isotope,Javascript,Jquery,Umbraco,Jquery Isotope,我用同位素来过滤我网页上的不同内容。现在,我在umbraco中有一个showcase页面,我有两个数据类型,分别称为图像和视频 在我使用同位素过滤内容的其他页面上,我使用页面类型进行过滤: $('#filterNews').click(function () { $('.isotope').isotope({ filter: '.NewsItem', layoutMode: 'masonry' }); $('.newsfilters .btn').removeClass('act

我用同位素来过滤我网页上的不同内容。现在,我在umbraco中有一个showcase页面,我有两个数据类型,分别称为
图像
视频

在我使用同位素过滤内容的其他页面上,我使用页面类型进行过滤:

$('#filterNews').click(function () {
    $('.isotope').isotope({ filter: '.NewsItem', layoutMode: 'masonry' });
    $('.newsfilters .btn').removeClass('active');
    $(this).addClass('active');
    return false;
});
但是,我需要修改上面的内容,以便在页面上查找数据类型。我尝试了以下方法:

$('#filterNews').click(function () {
    $('.isotope').isotope({ filter: '@CurrentPage.Images', layoutMode: 'masonry' });
    $('.newsfilters .btn').removeClass('active');
    $(this).addClass('active');
    return false;
});
我得到以下错误:

未捕获错误:语法错误,无法识别的表达式:@CurrentPage.Images

我甚至还试图从Umbraco获取实际的内容类型,但是出现了非法的语法错误


有没有一种方法可以修改我的javascript,让它查找我要查找的正确数据类型,而不是页面类型

此处出现的错误是由于@CurrentPage.Images是服务器在呈现页面时试图运行的razor脚本。如果当前页面上的属性“Images”未定义,则此操作将失败(这是您在此处看到的)

你在这里做的也不是你认为你在做的。同位素脚本是运行clientside的javascript,因此它不能像您在这里编写的那样与razor服务器端脚本一起工作

听起来同位素中的过滤器需要一个类名来进行过滤,这意味着您必须查看实际输出图像和视频的模板代码。没有看到你的模板,我真的不能告诉你它是哪一部分,除了它很可能是一个“foreach”或“for”循环,写出你的图像和视频元素。在这个循环中,您必须对其进行修改,以便将“video”或“image”类添加到要输出的各个元素中,然后才能在同位素的filter属性中使用“.video”和“.image”