【问题标题】:Display character " using ViewBag使用 ViewBag 显示字符 "
【发布时间】:2014-01-12 13:57:56
【问题描述】:

我正在使用带有 aspx 的 ASP.NET MVC 4。

我希望我的控制器在我的视图中生成代码。

因此我的控制器上有一条线

 ViewBag.Chart = "var c = r.barchart(10, 10, 600, 440, [[55, 20, 13, 32, 5, 1, 2, 10], [10, 2, 1, 5, 32, 13, 20, 55]], { stacked: true, type: \"soft\" }).hoverColumn(fin2, fout2);";

但是,当它显示在我的代码中时,它不显示字符 ("),而是将其替换为 & quot;

为了在代码中生成字符“我能做些什么?

【问题讨论】:

  • ViewBag.Chart的内容如何在你的视图中显示?
  • @nemesv 使用这个:

标签: asp.net asp.net-mvc asp.net-mvc-4 view viewbag


【解决方案1】:

您需要使用%= 而不是%:

<%= ViewBag.Chart %>

如果您使用的是%:,它会自动对您的字符串进行 HTML 编码,而 %= 则不会。

旁注:将 JavaScript 从控制器发出到视图中不是一个好习惯...

【讨论】:

  • @非常感谢@nemesv!有效!感谢您的建议。使用 viewbag 将代码从控制器传递到视图是我唯一想从代码中显示图表的事情。你能建议我任何不同的方法,哪个更好?我是 C# 和 ASP.NET MVC 的新手
  • 如果您的 JavaScript 中没有任何动态内容(并且在您的示例中是静态字符串),您可以输入一个单独的 .js 并在您的视图中引用该 js 文件。跨度>
  • 再次感谢 nemesv。不,我将在字符串中使用的数字应该是动态的,来自我的数据库...
【解决方案2】:

您好,请尝试将 \ 放在引号前面和关闭引号之前。对我来说很好用

\"var c = r.barchart(10, 10, 600, 440, [[55, 20, 13, 32, 5, 1, 2, 10], [10, 2, 1, 5, 32, 13, 20, 55]], { stacked: true, type: \"soft\" }).hoverColumn(fin2, fout2);\";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-18
    • 1970-01-01
    • 1970-01-01
    • 2016-12-19
    • 2018-01-08
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多