如何将自己的JS添加到Razor视图中?

时间:2014-12-15 05:05:10

标签: javascript asp.net-mvc razor

我想在页面的“脚本”部分中包含第4-6行。以下代码在我看来。而不是写入它打印到页面。我无法弄清楚我做错了什么。不知何故,这似乎是一个非常罕见的事情,因为我没有找到如何正确地做到这一点的例子。

1 @section Scripts {
2   @Scripts.Render("~/bundles/jqueryval")
3   @Scripts.Render("~/bundles/datetimepicker")
4   $(function() {
5     $(".datetimepicker").datetimepicker();
6   });
7 }

4 个答案:

答案 0 :(得分:2)

将其保留在脚本标记

  @Scripts.Render("~/bundles/jqueryval")
   @Scripts.Render("~/bundles/datetimepicker")
   <script type="text/javascript">
   $(function() {
     $(".datetimepicker").datetimepicker();
  });
  </script>

答案 1 :(得分:1)

您的脚本需要位于<script>代码

@section Scripts {
  @Scripts.Render("~/bundles/jqueryval")
  @Scripts.Render("~/bundles/datetimepicker")
  <script type="text/javascript">
    $(function() {
      $(".datetimepicker").datetimepicker();
    });
  </script>
}

答案 2 :(得分:0)

如果您的视图使用_Layout.cshtml页面,那么您可以在_Layout.cshtml页面添加这样的自定义部分:

@RenderSection("scripts", required: false)

如果您希望所有页面都需要此部分,请设置require:true

在您的视图中,您的代码应如下所示:

  @section scripts{
     @Scripts.Render("~/bundles/jqueryval")
     @Scripts.Render("~/bundles/datetimepicker")
    <script>
     $(function() {
     $(".datetimepicker").datetimepicker();
     });
    </script>
    }

答案 3 :(得分:0)

只需添加脚本标记并将此代码放在脚本标记

@section Scripts {
   @Scripts.Render("~/bundles/jqueryval")
   @Scripts.Render("~/bundles/datetimepicker")
   <script type="text/javascript">
         $(document).ready(function () {
            $(function() {
         $(".datetimepicker").datetimepicker();
       });
      });
    </script>
  }

但可能存在问题,因为有时asp不会渲染脚本。您还需要在部分视图中呈现脚本以防万一。