在 View 内渲染时,JQuery 就绪函数不执行

标签 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 文档就绪处理程序,它执行得很好,但是如果我将脚本部分添加到我的主视图的头部部分,它将不会执行。有人可以解释为什么会发生这种情况吗?这对我来说没有任何意义。

此外,当我查看源代码时,页面看起来渲染得很好,脚本位于正确的位置且格式正确,这让我很困惑,非常感谢任何帮助。

谢谢, 亚历克斯。

最佳答案

据我所知,您无法自行关闭 < script > 标签

所以请更正:

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

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

关于在 View 内渲染时,JQuery 就绪函数不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10863397/

相关文章:

c# - c# 中没有参数的方法仍然是一个方法?

javascript - 我可以在 CRM 2011 中使用 Javascript 的不同事件吗?

php - 如何将 JQuery 应用于 PHP 生成的 HTML?

javascript - 当我进入下一个选项卡时,内容不会被删除

javascript - 无法将 'this' 值从一个 javascript 函数传递到另一个函数?

.net-4.0 - 如何在添加点之前显示 DataVisualization.Charting 图表?

c# - 强制将 ASP.NET MVC3 和 Entity Framework 4 属性转换为大写

c# - IQueryable<a> 到 list<b> 类型转换,当 a & b 使用 LINQ 具有相似的签名时

json - 如何通过 JSON 返回 ASP.NET MVC 3.0 中错误的正确响应?

c# - 链接两个函数 () -> Task<A> 和 A->Task<B>