使用母版页的ASP.net MVC应用程序中的jQuery

jwa*_*ech 13 asp.net-mvc jquery

我试图在我的内容页面上执行简单的jQuery,没有运气,下面是我想要做的事情:

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">

   <script src="../../Scripts/jquery-1.2.6.js" type="text/javascript"></script>
   <script type="text/javascript">

       $(document).ready(function() {
           alert("hi");
       });   
   </script>

</asp:Content>
Run Code Online (Sandbox Code Playgroud)

我也试过让以下工作:

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">

   <script src="../../Scripts/jquery-1.2.6.js" type="text/javascript"></script>
   <script type="text/javascript">
       function onload()
       {
          $("#myDiv").css("border", "1px solid green");
       }
   </script>

   <div id="myDive">
      Hello
   </div>

</asp:Content>
Run Code Online (Sandbox Code Playgroud)

Kie*_*ron 35

可能无法找到JQuery文件,请尝试以下脚本引用:

<script src="<%= Url.Content ("~/Scripts/jquery-1.2.6.js") %>" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

无论应用程序是在根目录还是子目录中运行,Url.Content都将构建正确的路径.

此外,如果您已经安装了JS intellisense的热修复程序,除了上述内容之外,您还可以使用它:

<% if (false) { %>
    <!-- Don't wrap this is a Url.Content call, it's like this so we get intellisense! -->
    <script src="../../Scripts/jquery-1.2.6-vsdoc.js" type="text/javascript"></script>
<% } %>
Run Code Online (Sandbox Code Playgroud)

编辑:

自RC 1 Refresh发布以来,一直存在一个关于在头文件中放置带代码块的元素的错误,Philip Haacked有一篇关于解决它的好文章 ......

编辑2:

显然,自从RC 2发布以来,这已得到修复......

•如果将runat ="server"属性添加到head元素的直接子元素的代码块,则不会导致异常.

编辑3:

前面提到的热修复程序仅适用于VS2008,可在此处查看 - 有关详细信息,请查看 VS Web Dev Team的博客文章.VS2010内置了它.