0

我该怎么做?

$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])。我无法将文本变量添加到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>

需要用什么?'@:' 或者是其他东西?在所有情况下,我都会收到语法错误

4

2 回答 2

0

了解您可以在视图中的 <script> 块内使用 @ 表达式。如果您这样做,某些开发人员工具可能不会显示 JavaScript 代码块的代码着色或 Intellisense,但这不会影响站点编译和运行的能力。

HTH,粘土

于 2012-10-30T21:12:03.537 回答
0

我不认为这是可能的。因为 javascript 在运行时执行,C# 被编译,它不知道运行时 javascript 的值,所以会出错。

您可以对 C# 中的“动态”类型进行一些研究,这是在运行时使用的。

但是很抱歉,我不能在这里写一个演示,因为我对“动态”没有太多的经验,尽管我知道它可以在 C# 上做跨语言的事情。我只能给你这个建议。

于 2012-10-31T08:11:04.273 回答