简体   繁体   English

剃刀中JavaScript的语法错误

[英]Syntax error with javascript in razor

I have the following code in a cshtml(razor) file, it has an error in visual studio 2012. If I add quotes around the last argument it will, but this produces the wrong javascript. 我在cshtml(razor)文件中有以下代码,在Visual Studio 2012中有一个错误。如果我在最后一个参数周围加上引号,则将这样做,但这会产生错误的JavaScript。

This has a syntax error wigaly: 这有一个语法错误。

<script type="text/javascript">
@{
    foreach (var i in Model()) {
         <text>JsModel.Add('@i.Name',  @(i.IsDeletable?"true":"false" ) );</text>
    }
} 
</script>

Output, that I want: 我想要的输出:

<script type="text/javascript">
    JsModel.Add(AName, true );
    JsModel.Add(AnotherName, false );
    …
</script>

This has no syntax error, but has wrong output: 这没有语法错误,但是输出错误:

<script type="text/javascript">
@{
    foreach (var i in Model()) {
         <text>JsModel.Add('@i.Name', '@(i.IsDeletable?"true":"false" )' );</text>
    }
} 
</script>

Output: 输出:

<script type="text/javascript">
    JsModel.Add(AName, 'true' );
    JsModel.Add(AnotherName, 'false' );
    …
</script>

How can I get it to work without an error? 如何使它正常运行?

Can you try this 你可以试试这个吗

<script type="text/javascript">
@{
    foreach (var i in Model()) {
         <text>JsModel.Add('@i.Name', @(i.IsDeletable?true:false ) );</text>
    }
} 
</script>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM