搞不懂为什么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网页上加上这个客户端脚本:
ScriptManager1.RegisterAsyncPostBackControl(TabContainer );
注意:将以上的“TabContainer”替换为你自定的tab控件ID
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