JQuery ready函数在视图内呈现时不执行

时间:2012-06-02 15:05:17

标签: jquery asp.net-mvc-3 .net-4.0

只是一个标准的MVC网站,但是我试图在文档就绪处理程序上添加一个JQuery到我的主视图而不是我的布局页面,发现它在我这样做时不会执行它。

布局页面:

<!DOCTYPE html>

<html>
    <head lang="en">
        <meta charset="utf-8" />
        <title>@ViewBag.Title</title>
        <link href="@Url.Content("~/Content/Reset.css")" rel="stylesheet" type="text/css" />
        <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
        <script src="@Url.Content("~/Scripts/modernizr-2.5.3.min.js")" type="text/javascript"></script>
        <script src="@Url.Content("~/Scripts/jquery-1.7.2.min.js")" type="text/javascript"></script>
        <script src="@Url.Content("~/Scripts/jquery-ui-1.8.20.min.js")" type="text/javascript"></script>
        <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
        <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
        <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
        @RenderSection("Head");
    </head>

    <body>
        <header id="header">
            <h1>Home</h1>

            <nav id ="nav">
                <a href="@Url.Action("Index", "Home")"><div>Home</div></a>
                <a href="@Url.Action("AboutMe", "Home")"><div>About Me</div></a>
                <a href="@Url.Action("Index", "Project")"><div>My Projects</div></a>
                <a href="@Url.Action("Index", "Contact")"><div>Contact Me</div></a>
                <a href="@Url.Action("Index", "Blog")"><div>Blog</div></a>
            </nav>
        </header>

        <section id="content">
            @RenderBody()
        </section>
    </body>
</html>

主页:

@{
    ViewBag.Title = "Home";
}

@section Head
{
    <link href="@Url.Content("~/Content/HomeIndex.css")" rel="stylesheet" type="text/css" />
    <link href="@Url.Content("~/Content/Jquery.Tweet.css")" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="@Url.Content("~/Scripts/jquery.tweet.js")"/>

}

<img id="home-image" alt="Home page image" src="..." width="300" />

<section id="introduction">
    <h3>WelcomeLi</h3>
    <p>Text goes here.<p>
</section>

<section id="get-in-touch">
    <h4>Get In Touch</h4>
    <img id="facebook-button" alt="Find me on Facebook." src="@Url.Content("~/Content/Images/FacebookButton.png")" />
    <img id="skype-button" alt="Contact me via Skype." src="@Url.Content("~/Content/Images/SkypeButton.png")" />
    <img id="linkedin-button" alt="Find me on LinkedIn" src="@Url.Content("~/Content/Images/LinkedInButton.png")" />
</section>

<section id="twitter"></section>

所以基本上我所做的就是在我的布局页面上向头部添加了一个jquery文档就绪处理程序,它执行正常,但是如果我将脚本部分添加到我的主视图的head部分,它将不会执行。有人可以解释为什么会这样吗?这对我没有任何意义。

此外,当我查看源代码时,页面看起来像是在正确的位置正确呈现并且格式正确,这让我很难过,任何帮助都非常感激。

谢谢, 亚历克斯。

1 个答案:

答案 0 :(得分:3)

据我所知,你无法自我关闭&lt;脚本&gt; 标记

所以请更正:

<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.tweet.js")"/>

<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.tweet.js")"></script>