【问题标题】:layout view jquery plugin is not available in child views mvc4布局视图 jquery 插件在子视图 mvc4 中不可用
【发布时间】:2014-05-14 06:52:43
【问题描述】:

我在布局页面中添加了 jquery 脚本。但在子视图中无法访问。我没有使用任何捆绑包。

Layout.cshtml

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <title>@ViewBag.Title </title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>

<h1>Test Apppp</h1>
@RenderBody()
 <script src="/Scripts/modernizr-2.7.2.js"></script>
    <script src="/Scripts/jquery.min.js"></script>
    <script src="/Scripts/bootstrap.min.js"></script>

</body>
</html>

MyView.cshtml

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<div style="width: 100%; height: 500px;" class="float_left">

</div>
<script type="text/javascript">

    $(document).ready(function () {
        alert('dd');

    });   
</script>

错误显示在 $(document).ready(function){});像 $ 没有定义 请提出解决方案

提前致谢

【问题讨论】:

标签: jquery asp.net-mvc asp.net-mvc-4 razor


【解决方案1】:

使用@RenderBody() 并在RenderBody() 上方引用那些scripts

<script src="/Scripts/modernizr-2.7.2.js"></script>
<script src="/Scripts/jquery.min.js"></script>
<script src="/Scripts/bootstrap.min.js"></script>
@RenderBody()

【讨论】:

  • 它的工作...脚本应该在@renderbody()之上
  • 这可行,但我猜这不是一个非常标准的方式。
【解决方案2】:

Layout.cshtml

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <title>@ViewBag.Title </title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
<script src="~/Scripts/modernizr-2.7.2.js"></script>
    <script src="~/Scripts/jquery.min.js"></script>
    <script src="~/Scripts/bootstrap.min.js"></script>
</head>
<body>
 @RenderBody()
</body>
</html>

MyView.cshtml

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<script type="text/javascript" language="javascript">

    $(document).ready(function () {
        alert('dd');

    });   
</script>
<div style="width: 100%; height: 500px;" class="float_left">

</div>

【讨论】:

  • 我认为您在 srcipt src 中缺少“~”。查看我更新的代码
猜你喜欢
  • 2013-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-15
相关资源
最近更新 更多