从codebehind调用jquery函数,切换查询字符串

时间:2012-05-24 07:32:04

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

我有一个垂直菜单正在处理jquery。 HTML和Jquery如下:

HTML:

<div id="menu">
            <ul class="navmenu">
                <li>
                    <div class="menutop menusingle">
                        <a id="A1" runat="server"  href="~/View.aspx?pg=aboutus" >About Us </a></div>
                </li>
                <li>
                    <div class="menutop">
                        <a href="#">Courses</a><div class="toggle">
                            +</div>
                    </div>
                    <ul class="submenu">
                        <li><a id="A6" runat="server"  href="~/View.aspx?pg=SoftwareIT">Software /IT</a></li>
                        <li><a id="A7" runat="server"  href="~/View.aspx?pg=Telecommunication">Telecommunication</a></li>
                        <li><a id="A8" runat="server"  href="~/View.aspx?pg=Hardware">Hardware & Networking</a></li>
                        <li><a id="A9" runat="server"  href="~/View.aspx?pg=Sales">Sales & Marketing</a></li>
                        <li><a id="A10" runat="server"  href="~/View.aspx?pg=BPO">BPO & Soft Skills</a></li>
                    </ul>
                </li>
                <li>
                    <div class="menutop">
                        <a href="#">Services</a><div class="toggle">
                            +</div>
                    </div>
                    <ul class="submenu">
                        <li><a id="A2" runat="server"  href="~/View.aspx?pg=IndividualTraining">Individual Training </a></li>
                        <li><a id="A3" runat="server"  href="~/View.aspx?pg=OncampusTraining ">On Campus Training </a></li>
                        <li><a id="A4" runat="server"  href="~/View.aspx?pg=CorporateTraining">Corporate Training </a></li>
                        <li><a id="A5" runat="server"  href="~/View.aspx?pg=Placement">Placement </a></li>
                    </ul>
                </li>
                <li>
                    <div class="menutop">
                        <a href="#">Trainings</a><div class="toggle">
                            +</div>
                    </div>
                    <ul class="submenu">
                        <li><a id="A11" runat="server"  href="~/View.aspx?pg=FastTrack">FastTrack Training</a></li>
                        <li><a id="A12" runat="server"  href="~/View.aspx?pg=Summer">Summer/Industrial</a></li>
                        <li><a id="A13" runat="server"  href="~/View.aspx?pg=Weekend">Weekend Training</a></li>
                    </ul>
                </li>
            </ul>
        </div>

单击+号后,打开子菜单的抽屉。哪个手动非常好。现在我想根据要求自动化它。我们已经在培训,课程和服务中切换,因此如果当前网址是服务,那么服务菜单将自动打开。因为我们也有顶部导航和页脚导航。以上是左侧导航。

相同的Jquery:

<script type="text/javascript">
    $(document).ready(function() {

        $('.toggle:not(.toggle-open)').addClass('toggle-closed').parents('li').children('ul').hide();

        if ($.browser.msie) {
            $('#menu ul.navmenu li:last-child .menutop').css('border-bottom', '1px solid #CCC');
        }

        $('.toggle').click(function() {
            if ($(this).hasClass('toggle-open')) {
                $(this).removeClass('toggle-open').addClass('toggle-closed').empty('').append('+').parents('li').children('ul').slideUp(250);
                $(this).parent('.menutop').removeClass('menutop-open').addClass('menutop-closed');
            } else {
                $(this).parent('.menutop').removeClass('menutop-closed').addClass('menutop-open');
                $(this).removeClass('toggle-closed').addClass('toggle-open').empty('').append('&ndash;').parents('li').children('ul').slideDown(250);
            }

        });
    })
</script>

所以我需要一种基于查询字符串从cs调用$('.toggle').click(function()的方法。

2 个答案:

答案 0 :(得分:0)

从后面的代码中,准备JS代码以扩展所需的子菜单,并使用RegisterStartupScript方法强制进行菜单扩展。确保scriptmanager包含在页面/母版页中。

答案 1 :(得分:0)

从key获取查询字符串值。根据您的情况,它将调用click。

Request.QueryString[key].ToString()

我假设您的js代码是内联的。