【问题标题】:Does asp.net remove <script> tags in repeaters and inside the <% for loop %> in mvcasp.net 是否删除中继器中的 <script> 标记以及 mvc 中的 <% for loop %> 内的标记
【发布时间】:2009-01-18 23:26:12
【问题描述】:

我在 mvc 的转发器和 for 循环中都有一些 &lt;script type="javascript"/script 标签。

在页面渲染时,脚本已经消失,并且不会在中继器和 for 循环中显示(它们是分开的)。

我需要设置一些选项来阻止这种情况发生吗?有人遇到过这种问题吗?

【问题讨论】:

  • 为什么会有重复的脚本标签呢?我想不出这有什么意义。
  • 另外,我相信这是stackoverflow.com/questions/455912/…的骗子
  • 重复它们是因为我使用 javascript 来调用音频 Flash 播放器。一页上有很多“歌曲”。此外,它与另一篇文章有​​关,但我发现该错误是通用的,通常发生在转发器和 for 循环中。另一个问题是针对那个中继器的......

标签: c# javascript asp.net-mvc


【解决方案1】:

基于 url:<script>...</script> inside a repeater control code not showing up in the source code on page render,您正在使用后面的代码将 javascript 注入转发器。

出于测试目的,您可以尝试将脚本标签放在 ItemTemplate 中吗?

我的第二个建议是将构建 javascript 所需的值作为数据源的一部分传递,然后将它们作为模板的一部分输出:

<script type="text/javascript">
    AudioPlayer.embed('<%#DataBinder.Eval(Container.DataItem, "ID")%>', {soundFile: '<%#DataBinder.Eval(Container.DataItem, "Url")%>'});
</script>

问候

加文

【讨论】:

    猜你喜欢
    • 2011-05-06
    • 2016-08-05
    • 2012-01-15
    • 1970-01-01
    • 2017-10-24
    • 1970-01-01
    • 1970-01-01
    • 2019-04-07
    • 1970-01-01
    相关资源
    最近更新 更多