Ajax Control Toolkit TAB组件 - Javascript打破了吗?

时间:2009-07-17 22:55:22

标签: javascript asp.net ajaxcontroltoolkit

我终于想出了如何让我所有的数百万个标签(真的不是那么多)正确包装。现在,只要有人点击选项卡,我就想发起服务器端事件。经过一番彻底的谷歌搜索后,我以为我用这个来打击纯金:

这个东西在我的aspx页面的标题中:

<script type="text/javascript">
 function TABChassisFunction() {
     alert('moooo!');
     document.getElementById('BUTChassis').click();
 }
</script>  

这些东西在我的aspx页面中:

 <cc1:TabContainer ID="TabContainer1" Height="90"  runat="server" AutoPostBack="false" >
    <cc1:TabPanel ID="TABchassis" runat="server" HeaderText="Chassis" OnClientClick="TabChassisFunction();" >
        <ContentTemplate>

        </ContentTemplate>
    </cc1:TabPanel>
    <cc1:TabPanel ID="TABpowersupply" runat="server" HeaderText="Power Supply" >
        <ContentTemplate>

        </ContentTemplate>
    </cc1:TabPanel>
     <cc1:TabPanel ID="TABmotherboard" runat="server" HeaderText="Motherboard">
        <ContentTemplate>

        </ContentTemplate>
    </cc1:TabPanel>
</cc1:TabContainer>

我只将javascript函数放在第一个标签中以进行测试,因为它看起来应该触发我有一个隐藏按钮:

Protected Sub BUTchassis_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BUTchassis.Click
    MsgBox("The server side event fired!!")
End Sub

<asp:Button ID="BUTchassis" runat="server" Text="Chassis"  CssClass="cantseeme" />

“cantseeme”的cssclass只是显示:none;

UPDATE! 我修正了我的问题,标签在我身上消失了。第一次尝试回答我的问题非常接近,我添加了一个();到OnClientClick函数使其工作。我已经更新了上面的代码。但是新问题,它仍然不会触发服务器端事件。 javascript警报会触发,但我后面的代码中的sub应该显示msgbox永远不会发生...?

编辑: 如果它有帮助,这里是我有想法尝试以上所有优点的链接: http://forums.asp.net/t/1195064.aspx

1 个答案:

答案 0 :(得分:0)

我会尝试更改

TabChassisFunction

为:

TabChassisFunction();

我认为这里需要一个脚本,而不仅仅是一个函数名称。难道只是函数名称被吐出到输出html而不是有效的脚本?如果这反过来又会破坏页面的某些其他javascript,那么可能会导致您看到的症状。好的,所以我只是猜测...... :)