c# - 如何在 ASP. NET Core 中使用 jquery

标签 c# jquery asp.net asp.net-mvc asp.net-core

我创建了一个 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>

解决方案

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

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


选项 1

使用在 jquery 之后加载的主脚本文件。

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

选项 2

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

Master _Layout Page

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

内容页

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

关于c# - 如何在 ASP. NET Core 中使用 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37923853/

相关文章:

c# - 从静态方法使用 DateTime.AddHours 不会产生所需的结果

c# - 在 Azure 中设置 MySQL 后端以进行 Xamarin 离线同步

javascript - 在javascript中提取多维json数组

javascript - 隐藏 10 秒

c# - 如何对先前的 InvokeMember 结果调用 InvokeMember?

c# - Pipelines.Sockets.Unofficial.SocketConnection 是否会在没有请求的情况下刷新?

jquery - 在 jQuery 和 Servlet 之间传递数据

c# - 我可以允许匿名用户和事件目录用户浏览同一个 IIS 7.5 站点吗?

asp.net - TinyMCE:双前色和背景色按钮?

c# - 使用对象数据填充 GridView