javascript - 为什么嵌入 HTML 中的脚本标记可以正确运行,但不能由 aspx 生成?

标签 javascript html asp.net

如果我在一个简单的 html 文件中嵌入一个特殊的控件(rxwiki 的处方搜索框小部件),如下所示:

<html>
<body>
  <script type="text/javascript" id="rxwiki_sw_js" src="http://www.rxwiki.com/rune/search/widget?utm_medium=search_widget&utm_source=795f9976-4258-5fc8-A659-e5c31cccf791">
  </script>
</body>
</html>

呈现此页面时,会出现并运行相应的搜索控件。

但是,如果我将相同的元素嵌入到工作的 aspx 页面中,则不会。相反,我只是在空白边框中嵌入了一个编辑框,看起来与原始图像的大小大致相同。

如果我将相同的代码放入母版页中,它会呈现,但将其放入母版页中对我来说不是一个选择。

建议?

最佳答案

该脚本尝试创建如下所示的内容:

<form id="rxwikiSearch" target="_blank" action="http://www.rxwiki.com/search" method="get" accept-charset="UTF-8">

当您使用母版页时,它有一个表单元素,内容在其中呈现。在内容中,如果您有该脚本,它会尝试在母版页表单内呈现另一个表单,这是不允许的。

我已经测试过将 contentplaceholder 保留在母版页的头部(由向导生成)并将脚本放在内容页中,如下所示:

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
     <script type="text/javascript" id="rxwiki_sw_js" src="http://www.rxwiki.com/rune/search/widget?utm_medium=search_widget&utm_source=795f9976-4258-5fc8-A659-e5c31cccf791">
  </script>
</asp:Content>

并且工作正常!

关于javascript - 为什么嵌入 HTML 中的脚本标记可以正确运行,但不能由 aspx 生成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18420471/

相关文章:

HTML5 Canvas - 绘制

javascript - Ajax jquery 发送 Null 值到 Mvc4 Controller

javascript - 预编译 mustache 模板还是从外部加载?

javascript - 我如何重新定位我以前的光滑箭头以使其可操作?

javascript - 如何用Ractive响应img加载事件?

c# - 单选按钮未更新服务器端的值

html - 如何在同一个<p>中设置两种不同的字体大小

jquery 显示 :block not working correclty when more than 2 divs

c# - 读取 X-Forwarded-For header

php - 购物车价格变动