将模型属性作为参数传递给javascript函数时Razor视图中的语法错误

dav*_*d.s 12 javascript asp.net-mvc razor visual-studio-2012

我得到了Syntax error每个逗号(,)和)以下代码中的最后一个括号():

<script type="text/javascript">
    Filters.priceRangeInit(@Model.Min, @Model.Max, @Model.From, @Model.To);
</script>
Run Code Online (Sandbox Code Playgroud)

javascript函数在另一个文件中,如下所示:

Filters = {
    priceRangeInit: function (min, max, from, to) {
        $('#price-range-slider').slider({
            min: min,
            max: max,
            step: 50,
            values: [from, to],
            slide: function (event, ui) {
                $('#left-price-range-amount').val(ui.values[0]);
                $('#right-price-range-amount').val(ui.values[1]);
            }
        });
    }
};
Run Code Online (Sandbox Code Playgroud)

该模型如下所示:

public class PriceRangeFilterModel
{
    public int Min { get; set; }
    public int Max { get; set; }
    public int From { get; set; }
    public int To { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我使用Visual Studio 2012,ASP.NET MVC 3和Razor,一切都在浏览器中工作正常,但我想摆脱我在IDE中得到的4个语法错误.

如果我传递参数,因为strings我不再出现错误,但是我必须将每个参数转换回来int使滑块工作:

<script type="text/javascript">
    Filters.priceRangeInit('@Model.Min', '@Model.Max', '@Model.From', '@Model.To');
</script>
Run Code Online (Sandbox Code Playgroud)

您对如何编写此调用有任何其他想法,以便我不会出现语法错误吗?

Dar*_*rov 14

Razor Intellisense刚刚在Visual Studio中被破解.您的代码完全有效,您应该忽略这些警告,并希望Microsoft将在以后的版本中修复它.