我怎么做?
$for (var i = 0; i < model.CategoryList.length; i++) {
var text = model.CategoryList;
categories += '<span class="label label-info">' + @((AgesCategory)int.Parse( ..... )).GetDescription() + '</span>';
}
我需要从JS代码中将 int.Parse(.....))替换为 int.Parse(model.CategoryList [i])。我无法将 text 变量添加到 int.Parse(...) intellisense中检测到此代码,如c#代码,而不是JS。
更新:
我会尝试重新构建我的问题:如何从JS变量设置值C#变量?
<script>
var temp1 = 1; // js var
@{ string temp2 = 0 ;} // c# var
@{ temp2 = temp1 } // how do it?
var temp2 = @(((MyEnumType)int.Parse(temp2).GetEnumDescription())); //js var
</script>
需要用什么? '@:' 或者是其他东西?在所有情况下,我都会收到语法错误
答案 0 :(得分:0)
了解您可以在&lt; script&gt;中使用@表达式视图中的块。如果这样做,某些开发人员工具可能不会显示JavaScript代码块的代码着色或Intellisense,但这不会影响网站编译和运行的能力。
HTH, 粘土
答案 1 :(得分:0)
我认为不可能。因为javascript在运行时执行,所以编译C#,它不知道运行时javascript的值,所以会出错。
您可以在C#中对“动态”类型进行一些研究,这在运行时使用。
但很抱歉,我无法在这里编写演示,因为我对“动态”没有太多的过期,尽管我知道它可以在C#上做跨语言的事情。我只能给你这个建议。