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

时间:2008-12-16 15:04:09

标签: jquery asp.net-mvc

我正在尝试在我的内容页面上执行简单的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>

我也尝试过以下工作:

<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>

3 个答案:

答案 0 :(得分:35)

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

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

无论应用程序是在根目录还是子目录中运行,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>
<% } %>

修改

自RC 1 Refresh发布以来,已经知道如何在标题中放置带代码块的元素,Philip Haacked对于解决它有一个很好的article ......

编辑2:

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

  

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

编辑3:

前面提到的热修复程序仅适用于VS2008并且可用here - 有关详细信息,请查看VS Web开发团队here的博客文章。 VS2010内置了它。

答案 1 :(得分:0)

尝试将javascript引用放在母版页中。然后,您不必担心多次尝试加载脚本。

答案 2 :(得分:0)

必须使用才能正确发布网站,但是当您与只知道如何使用photoshop和Dreamweaver的设计师合作时会很痛苦