我创建了一个ASP.NET核心模板并编写了一个jQuery脚本.当我查看页面时,我看到jQuery已加载到页面中,但是脚本没有运行.我查看了ASP.NET文档页面,而我的layout.cshtml看起来是一样的,那么要让jQuery正常工作,我还需要采取哪些额外的步骤呢? enter image description here个 主页

@{
    ViewData["Title"] = "Home Page";
}
<!-- Page Content-->
<div class="container">
    <div class="row">
        <form method="post" enctype="multipart/form-data">
            <input type="file" id="files" name="files" multiple />
            <input type="button" id="upload" value="Upload Selected Files" />
        </form>
    </div>
</div>
<script>
    $(document).ready(function () {
        alert("Test"); 
    });
</script>

Solution

@section scripts
{
    <script>
        $(document).ready(function() {
            alert("Test");
        });
    </script>
}

推荐答案

我怀疑你的jquery是在页面内容的其余部分之后加载的.

这意味着您无法引用jquery对象,因为库尚未初始化.

在jquery加载后移动页面脚本.

<script src="~/lib/jquery/dist/jquery.js"></script>
<script>
  $(document).ready(function () {
    alert("Test"); 
  });
</script>

为了提高效率,我建议您采用以下两种方式之一:


OPTION 1

使用在jQuery之后加载的主脚本文件.

<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/js/master.js"></script>

OPTION 2

使用占位符模板,该模板将始终在jquery之后加载,但可以在单个页面上初始化.

Master _Layout Page

<script src="~/lib/jquery/dist/jquery.js""></script>
@RenderSection("Scripts", required: false)

Content Page

@section Scripts {
  <script>
    $(function () {
      alert("Test"); 
    });
  </script>
}

Asp.net相关问答推荐

如何在 C# 中生成一个随机的 10 位数字?

在 lambda 表达式中否定 Func

无法连接到 ASP.Net 开发服务器问题

在属性中实现逻辑是一种好习惯吗

如何使用文件上传控件 Select 多个文件?

新的 ASP.NET MVC 5 应用程序如何知道如何创建数据库以及帐户控制器如何访问数据库?

从命令行复制 VS2008发布网站

asp.net 有控制台日志(log)吗?

如何使用 WebRequest 发布数据并从网页获取响应

对 ASP.NET 2.0 网页进行单元测试的最佳方法是什么?

覆盖静态方法

避免将重复元素添加到列表 C#

ASP.Net 无法创建/卷影复制

将Bundle 包添加到现有的 ASP.NET Webforms 解决方案

.Net System.Mail.Message 添加多个收件人地址

Ashx 文件中的 HttpContext.Current.Session 为空

Unity 中的单例每个调用上下文(Web 请求)

try 为 Medium Trust 开发是否会失败?

如何识别字符串是否包含 unicode 字符?

System.Drawing.Image.FromFile() 上的内存不足异常