use*_*454 1 c# jquery razor asp.net-mvc-4
我尝试添加以下javascript代码.
<script>
@if (ViewBag.checkedArtikel != null)
{
foreach (int ac in ViewBag.checkedArtikel)
{
String temp = "'#addartikel" + ac + "'";
<text> $(@temp).toggleClass('down');</text>
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
如果我省略脚本标签,我会得到正确的jquery命令:
$('#addartikel1').toggleClass('down');
Run Code Online (Sandbox Code Playgroud)
但是使用脚本标记我得到了这个错误:
Uncaught SyntaxError: Unexpected token &
Run Code Online (Sandbox Code Playgroud)
你有很糟糕的混合服务器端Razor代码与客户端javascript.通过使用JSON序列化程序,这是正确的方法:
<script type="text/javascript">
var articles = @Html.Raw(Json.Encode(ViewBag.checkedArtikel ?? new int[0]));
$(articles).each(function() {
$('#addartikel' + this).toggleClass('down');
});
</script>
Run Code Online (Sandbox Code Playgroud)