JavaScript文字插入值? (字符文字中的字符过多)

时间:2010-11-29 00:03:40

标签: javascript jquery asp.net-mvc

好的,在我的mvc中查看我的“模型”是一个对象列表,在这种情况下,我想获得其中一个对象的特定Id。

var counter = 0; //for example

var id = '<%=Model[' + counter + '].Id %>';

这就是我得到的:

Compiler Error Message: CS1012: Too many characters in character literal

谢谢!

2 个答案:

答案 0 :(得分:0)

这没有任何意义。您正在尝试将ASP表达式与客户端Javascript放在一起。这是荒谬的,因为ASP的东西都在你的服务器上运行,而Javascript在客户端运行。

在不知道你想做什么的情况下,很难说你应该怎么做。

答案 1 :(得分:0)

是的,计数器变量不能用作Model []的索引,因为它只存在于客户端上(假设此片段位于脚本html元素内)。在创建视图时,将其视为正在构建的长“字符串”(将html返回到浏览器)可能会很有用。在这种情况下,'counter'只是脚本块中的一些字符,最终将由浏览器解释,因此它不是构建视图时可以使用的变量。 &lt;%=%&gt; block只返回要追加的字符串(这就是=符号的作用)。

也许您打算在其自己的C#代码块中使用计数器变量,如下所示:

<% var counter = 0; %>
<script language=javascript>
  var id = '<%=Model[counter].Id %>';
</script>