TabContainer要实现服务器端回传

来源:互联网 发布:工时记录软件 编辑:程序博客网 时间:2024/06/10 00:18

转自:http://blog.sina.com.cn/s/blog_54ee89d90100g210.html

  搞不懂为什么AJAX Control Toolkit 的Tab控件为什么不提供TabPanel切换时可设置回传或回调。我就要需要这个功能:当在TabPanel切换时,实现动态加载TabPanel里的内容。   

      Google了不少网页,看了不少的文章,好几次冲动地想自己把功能做出来,可抱着别人也应该会遇到这个问题的幻想,终于老天不负有心人,给我打到了答案。似乎找不到中文版的解决方案,可英文版竟然找到了。    

答案在这个网址里:http://www.codeplex.com/AtlasControlToolkit/WorkItem/View.aspx?WorkItemId=7739    

不想看E文的话,我这里说下:    

    1。在UpdatePanel里加上这个:

<triggers>

       <asp:AsyncPostBackTrigger ControlID="tabContainer" EventName="ActiveTabChanged" /> </triggers>   

 

    2。在aspx网页上加上这个客户端脚本:

    function ActiveTabChanged(sender, e)

    {

         <%= Page.ClientScript.GetPostBackEventReference(TabContainer, String.Empty) %>

    }

    function ActiveTabChanged(sender, e)

   {

      __doPostBack('<%= TabContainer.ClientID %>', sender.get_activeTab().get_headerText());

   

  

    3。在Tab控件加上这个属性: OnClientActiveTabChanged="ActiveTabChanged"    

   

    4。在Page_Load事件里加: ScriptManager1.RegisterAsyncPostBackControl(TabContainer); 注意:将以上的“TabContainer”替换为你自定的tab控件ID

TabContainer要实现服务器端回传,出来在后台实现 OnActiveTabChanged 事件外, 还需要在前台实现 OnClientActiveTabChanged 事件,这是关键。

 

 

<asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="true">    

  <contenttemplate> 

            <ajaxToolkit:TabContainer runat="server" ID="Tabs" Height="480px" Width="100%"            

            OnClientActiveTabChanged="activeTabChanged"           

            OnActiveTabChanged="Tabs_ActiveTabChanged">

 

            <ajaxToolkit:TabPanel runat="Server" ID="Panel1" HeaderText="我的消息">                 <ContentTemplate>               

                 ***                

               </ContentTemplate>            

            </ajaxToolkit:TabPanel>          

     

           <ajaxToolkit:TabPanel runat="Server" ID="Panel2" HeaderText="已发消息">


                <ContentTemplate>                

                ***               

              </ContentTemplate>            

        </ajaxToolkit:TabPanel>        

    </ajaxToolkit:TabContainer>    

</contenttemplate>    

  <triggers>        

<asp:AsyncPostBackTrigger ControlID="Tabs" EventName="ActiveTabChanged" />    

 </triggers>

</asp:UpdatePanel>


<script language="javascript" type="text/jscript">


function activeTabChanged(sender, e)

    

      __doPostBack('<%= Tabs.ClientID %>', sender.get_activeTabIndex()); 

 

</script>

 

 

后台.cs代码:

protected void Tabs_ActiveTabChanged(object sender, EventArgs e) {   

switch (Tabs.ActiveTabIndex)  

      

 case 0: BindGrid();           

break;       

case 1: BindGrid2();           

break;       

case 2:  Message.Text = "";          

 break;      

default:  break;   

} }


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 没赶上高铁票怎么办 转火车晚点怎么办 卧铺 火车晚点换乘迟到怎么办 12306抢不到票怎么办 演唱会抢不到票怎么办 沈阳地铁月票卡怎么办 怀孕不上班保险怎么办 学生票取不了票怎么办 高铁票没余票了怎么办 买了票没赶上车怎么办 火车晚点未定该怎么办? 火车票买错了怎么办 12306被注册了怎么办 注册12306没有邮箱怎么办 火车退票不能退怎么办 火车票订单返库怎么办 网购火车票丢失怎么办 学生票超过优惠区间怎么办 异地恋不肯见面怎么办 小学学生证丢了怎么办 如果学生证丢了怎么办 学生票学生证丢了怎么办 毕业学生证丢了怎么办 四级学生证没有怎么办 高中学生证丢了怎么办 旅游学生证忘了怎么办 学生票买错了怎么办 四级没有学生证怎么办? 学生证取不了票怎么办 学生票区间超了怎么办 学生票不在乘车区间怎么办 学生证用了四次怎么办 误买了学生票怎么办 学生证填错了怎么办 学生票优惠区间不符怎么办 学生票超出优惠区间怎么办 蓝色车票刷不了怎么办 医院磁卡丢了怎么办 小区磁卡丢了怎么办 坐火车耳朵疼怎么办 下火车耳朵疼怎么办