我写了一个产品分类的二级下拉菜单的用户控件,里面用JS来控制下拉菜单的显示和隐藏。
现在问题是,当我把用户控件拖到相关页面上时。在生成出来的HTML中,怎么才能把用户控件的Javascript放到<head>...</head> 部分,而不在页面HTML的中间。
这是我下面的代码,请问一般向这种情况应该怎么处理javascript?
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="CollectionSideNav.ascx.cs" Inherits="Controls_CollectionSideNav" %>
<script type="text/javascript">
$(function(){
$("#sideNav dd span").toggle(
function(){
$thisSubUl = $(this).next("ul");
$thisSubUl.slideDown(500)
},
function(){
$thisSubUl = $(this).next("ul");
$thisSubUl.slideUp(500)
}
)
})
</script>
<asp:Repeater ID="typeList" runat="server"
onitemdatabound="typeList_ItemDataBound">
<HeaderTemplate>
<dl id="sideNav" class="left">
<dt>艺术典藏Collection</dt>
</HeaderTemplate>
<ItemTemplate>
<dd <asp:PlaceHolder ID="ddItem" runat="server" />>
<span><%# Eval("name") %></span>
<asp:ListView ID="subList" runat="server" DataSource='<%# GetCollectionTypeList((int)Eval("id")) %>'>
<LayoutTemplate>
<ul>
<li id="itemPlaceholder" runat="server"></li>
</ul>
</LayoutTemplate>
<ItemTemplate><li runat="server"><a href="http://localhost:1850/LinkG.Web/Collection.aspx?typeId=<%# Eval("id") %>"><%# Eval("name") %></a></li></ItemTemplate>
</asp:ListView>
</dd>
</ItemTemplate>