为什么我的JavaScript函数只能在索引视图中使用?

时间:2019-02-13 14:05:45

标签: javascript c# jquery asp.net-mvc

我一直在研究ASP.Net应用程序。我有一个简单的网站,其中包含一些JavaScript函数。当我第一次运行该项目时,它将加载索引视图,并且一切正常。但是,当我从索引视图导航到另一个页面时,即使我在布局页面中添加了所有脚本链接和函数,JS函数也停止工作。

我也尝试过放置功能:

  1. head标签中,
  2. 在结束标签前
  3. @Renderbody之后 但是,这些都不起作用。

这是我的代码

布局

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Layout</title>

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<link href="~/Scripts/StyleSheet1.css" rel="stylesheet" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<script src="https://use.fontawesome.com/releases/v5.0.8/js/all.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.js"></script>
<link href="https://fonts.googleapis.com/css?family=Roboto|Varela+Round|Raleway" rel="stylesheet">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<script src="~/Scripts/main.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
</head>


   @RenderBody()
  // Some Html code
<script>

               $("#postIt").click(function () {
                   postIt();
               });
               function postIt() {
                   var usr = $("#username").val();
                   var pwd = $("#password").val();
                   $.ajax({
                       type: "POST",
                       url: "Home/Login",
                       data: {
                           "Username": usr,
                           "Password": pwd
                       },
                       success: function (data) {
                           if (data.result) {
                               JSalert(data.result);
                               reload();
                               //alert(data.message);
                           } else {
                               // unauthorized
                               alert(data.message);
                           }
                       }
                   });
               }

               function JSalert(result) {
                   swal("Congrats!", " Your account is logged in!", "success", 3000, true);
                   setTimeout("location.reload(true);",1700);

               }
</script>
</body>
</html>

在其他页面的顶部

@{

Layout = "~/Views/Shared/Layout.cshtml";
}

我检查了其他页面上的页面源,js函数存在。

谢谢。

1 个答案:

答案 0 :(得分:1)

似乎您在发布的代码中忘记了关闭头标签和打开主体标签。 修复时请再次检查