将JavaScript文件添加到视图中

时间:2010-10-31 10:18:15

标签: asp.net asp.net-mvc

我正在使用MVC 2.我有一个母版页和一个使用该母版页的视图。我必须仅为此视图使用javascript文件,而不是其他视图。将javascript文件添加到此视图的最佳方法是什么?我目前所做的是在我的内容标记的顶部添加javascript文件。这是最好的方法吗?我这样做了:

<asp:Content ID="cntMain" ContentPlaceHolderID="cphMain" runat="server">

     <script src="../../Scripts/myjs.js" type="text/javascript"></script>

</asp:Content>

我的母版页中此内容标记的内容占位符位于div中,因此它抱怨脚本标记不能位于div中,并以绿色下划线。所以我假设还有另一种不错的方法吗?

由于

2 个答案:

答案 0 :(得分:2)

将此添加到您希望脚本显示的母版页

    <asp:ContentPlaceHolder ID="ScriptsContent" runat="server" />

并将其添加到您的视图中

    <asp:Content ID="Content3" ContentPlaceHolderID="ScriptsContent" runat="server">
       <script src="../../Scripts/myjs.js" type="text/javascript"></script>
    </asp:Content>

答案 1 :(得分:0)

  

我的母版页中此内容标记的内容占位符位于div

将ContentPlaceHolder移动到母版页中的head部分,并照常使用。请注意,虽然您在母版页中声明了这一点,但您没有在任何/所有视图中填充它。

<head runat="server">
    <title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
    <link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
    <asp:ContentPlaceHolder ID="cphMain" runat="server"></asp:ContentPlaceHolder>
</head>