【问题标题】:JavaScript literal insert vaule? (Too many characters in character literal)JavaScript文字插入值? (字符文字中的字符太多)
【发布时间】:2010-11-29 00:03:40
【问题描述】:

好的,所以在我的 mvc 视图中,我的“模型”是一个对象列表,在这种情况下,我想获取其中一个对象的特定 ID。

var counter = 0; //for example

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

这就是我得到的:

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

谢谢!

【问题讨论】:

  • 你能发布包含代码吗?我认为您在一些奇怪的配置中混合了 javascript 和 c#。

标签: javascript jquery asp.net-mvc


【解决方案1】:

是的,计数器变量不能用作 Model[] 的索引,因为它只存在于客户端上(假设这个 sn-p 在脚本 html 元素中)。当您创建视图时,将其视为您正在构建的长“字符串”(返回给浏览器的 html)可能会很有用。在这种情况下,“计数器”只是脚本块中的一些字符,最终将由浏览器解释,因此它不是构建视图时可以使用的变量。 块只返回一个要附加的字符串(这就是 = 符号的作用)。

也许您打算将 counter 变量放在它自己的 C# 代码块中,如下所示:

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

【讨论】:

    【解决方案2】:

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

    如果不知道其余的你想做什么,很难说你应该如何进行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-30
      • 2016-01-19
      • 2017-06-21
      相关资源
      最近更新 更多