0

以下是尝试在页面中包含脚本的 3 个版本:

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "JqueryTestFile1",
     "<script type=\"text/javascript\" src=\"jqueryTEST1.js\"></script>", false);

Page.ClientScript.RegisterClientScriptInclude(this.GetType(), "JqueryTestFile2",
     "jquery-1.11.0.min.js");

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "JqueryTestFile3",
     "src=\"jqueryTEST3.js\"", true);

前两个版本运行良好。然而,"true"作为最后一个参数的第三个参数实际上是<![CDATA[在源代码中呈现的,我无法让它工作。

为什么要渲染 CData ?在这种情况下,它的目的是什么?如何在不删除“true”参数的情况下让第三个版本正常工作?下面是在浏览器中呈现的 html 代码::

<form method="post" action="ScriptsManager.aspx" id="Form1">
     <script type="text/javascript" src="jqueryTEST1.js"></script>
     <script src="jquery-1.11.0.min.js" type="text/javascript"></script>
     <script type="text/javascript">
          //<![CDATA[
          src="jqueryTEST3.js"//]]>
     </script>
     <input type="button" value="ClickMe" onclick="DoClick()" />     
</form>

附加信息::

[ 只是为了避免混淆所有这些 JS 文件:JqueryTest1.js等等 .. 都存在于我的解决方案中的适当位置]。在JqueryTest3.js中,只有以下代码:

function DoClick(){
alert("Hi");
}

如果我将此DoClick()功能放在JqueryTest1.js文件中,它会完美运行。

.aspx标记:

<form id="Form1" runat="server">
  <input type="button" value="ClickMe" onclick="DoClick()" />
 </form>
4

1 回答 1

0

将代码替换为以下内容

    ScriptManager.RegisterStartupScript(this,this.GetType(), "JqueryTestFile3",
 "src=\"jqueryTEST3.js\"", true)

记得添加到您的页面

于 2014-04-05T09:17:05.160 回答