带有母版页的ASP.Net Web表单中的JQuery

时间:2014-03-26 14:27:56

标签: c# javascript jquery asp.net master-pages

我有一个名为CoursesPage.aspx的页面,它有一个母版页。在CoursesPage.aspx中,我使用课程名称上的自动完成jquery来更好地搜索。这是我的脚本代码:

<link rel="stylesheet" href="css/jquery-ui.css" />

    <script src="js/jquery-1.8.3.js" type="text/javascript" language="javascript"></script>

    <script src="js/jquery-ui.js" type="text/javascript" language="javascript"></script>

    <script type="text/javascript" language="javascript">
        function LoadList() {
            var ds = null;
            ds = <%=listFilter %>
        $("#txtName3").autocomplete({
            source: ds
        });
        }
    </script>

如果我不使用母版页,此代码可以正常工作。但是,我无法将其放在CoursesPage.aspx的Content标记中。它需要在head标签中,但我无法在内容标签中添加它。 请指导我。

其次,在加载body标签时会调用此函数,但我也无法添加正文标记。

2 个答案:

答案 0 :(得分:1)

您可以在母版页的头部添加内容占位符,例如:

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

然后在页面中,您可以将脚本添加到母版页的头部,方法是将其包含在引用head的内容标记中,如下所示:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<link rel="stylesheet" href="css/jquery-ui.css" />

    <script src="js/jquery-1.8.3.js" type="text/javascript" language="javascript"></script>

    <script src="js/jquery-ui.js" type="text/javascript" language="javascript"></script>

    <script type="text/javascript" language="javascript">
        function LoadList() {
            var ds = null;
            ds = <%=listFilter %>
        $("#txtName3").autocomplete({
            source: ds
        });
        }
    </script>
</asp:Content>

这不能嵌套在任何其他内容标签中。

答案 1 :(得分:1)

在您的母版页中有两个ContentPlaceHolder标记,一个在头部,另一个在正文中。 您必须在Courses.aspx页面中添加两个内容标记,并将其中一个ContenetPlaceHolderID属性设置为母版主页的ContentPlaceHolder。 例如: 您的母版页:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="ResponsiveTemplate.Site" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<asp:ContentPlaceHolder ID="Head" runat="server">

</asp:ContentPlaceHolder>
</head>
<body>
<asp:ContentPlaceHolder ID="Content" runat="server">

</asp:ContentPlaceHolder>
</body>
</html>

和你的aspx页面:

<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="~/Site.Master" CodeBehind="WebForm2.aspx.cs" Inherits="ResponsiveTemplate.WebForm2" %>

<asp:Content ID="content1" runat="server" ContentPlaceHolderID="Head">
<link rel="stylesheet" href="css/jquery-ui.css" />

<script src="js/jquery-1.8.3.js" type="text/javascript" language="javascript"></script>

<script src="js/jquery-ui.js" type="text/javascript" language="javascript"></script>

<script type="text/javascript" language="javascript">
    function LoadList() {
        var ds = null;
        ds = <%=listFilter %>
    $("#txtName3").autocomplete({
        source: ds
    });
    }
</script>
</asp:Content>
<asp:Content ID="content2" runat="server" ContentPlaceHolderID="Content">
</asp:Content>
相关问题