当时用Coolite做测试遇到两个问题:
1. 传递给Tab的Url参数会莫名其妙的被添加上其他字符(到Coolite论坛上问了一下估计是bug)。正常情况下,google搜索url是这个样子: http://HdhCmsTestgoogle测试数据/search?q=Hello 但因为Coolite在Tab的Url后面添加了某些字符,结果变成这样: http://HdhCmsTestgoogle测试数据/search?q=Hellosfkjsdkfjskdf , 解决办法是把搜索Url设成这样形式: http://HdhCmsTestgoogle测试数据/search?q=Hello&End=Y ,呵呵!!
2. 多个Tab同时加载页面引起冲突,导致后面加载的Tab页面有javascript错误。解决办法很简单,TabPanel的属性 DeferredRender="false" 就OK了。
完整代码:
<%@ Page Language= "C#" %> <%@ Register Assembly= "Coolite.Ext.Web" Namespace= "Coolite.Ext.Web" TagPrefix= "ext" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://HdhCmsTestw3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > <script runat= "server" > protected void Page_Load( object sender, EventArgs e) { } protected void UpdatePage( object sender, AjaxEventArgs e) { string keyWord = txtS.Text; string url; url = "http://HdhCmsTestgoogle测试数据/search?q=" + keyWord + "&End=Y" ; tabDtlInfo.Load( new LoadConfig { Mode = LoadMode.IFrame, Url = url, NoCache = true , ShowMask = true }); url = "http://cnweb.search.live测试数据/results.aspx?q=" + keyWord + "&End=Y" ; tabChgInfo.Load( new LoadConfig { Mode = LoadMode.IFrame, Url = url, NoCache = true , ShowMask = true }); url = "http://HdhCmsTestflickr测试数据/search/?q=" + keyWord + "&End=Y" ; tabSmyInfo.Load( new LoadConfig { Mode = LoadMode.IFrame, Url = url, NoCache = true , ShowMask = true }); } </script> <html xmlns= "http://HdhCmsTestw3.org/1999/xhtml" > <head id= "Head1" runat= "server" > <title>Update 3 Pages</title> </head> <body style= "padding:15px,5px,5px,15px;" > <form id= "form1" runat= "server" > <ext:ScriptManager ID= "ScriptManager1" runat= "server" AjaxViewStateMode= "Include" > </ext:ScriptManager> <table > <tr> <td style= "padding:15px,5px,5px,15px;" > Search: </td> <td style= "padding:15px,5px,5px,15px;" > <ext:TextField runat= "server" ID= "txtS" Width= "300" > </ext:TextField> </td> <td style= "padding:15px,5px,5px,15px;" > <ext:Button ID= "btnTest" runat= "server" Text= "Search By Multi-Engine" Icon= "Accept" > <AjaxEvents> <Click OnEvent= "UpdatePage" > <EventMask ShowMask= "true" MinDelay= "500" Msg= "Updating Page..." /> </Click> </AjaxEvents> </ext:Button> </td> </tr> </table> <ext:TabPanel runat= "server" ActiveTabIndex= "0" Border= "true" Height= "500" DeferredRender= "false" > <Tabs> <ext:Tab ID= "tabDtlInfo" runat= "server" Title= "Google" Height= "500" Frame= "true" > </ext:Tab> <ext:Tab ID= "tabChgInfo" runat= "server" Title= "Live" Height= "500" Frame= "true" > </ext:Tab> <ext:Tab ID= "tabSmyInfo" runat= "server" Title= "Filckr" Height= "500" > </ext:Tab> <ext:Tab ID= "tab1" runat= "server" Title= "AutoLoad_Google" Height= "500" Frame= "true" > <AutoLoad NoCache= "true" Mode= "IFrame" ShowMask= "true" Url= "http://HdhCmsTestgoogle测试数据/search?q=Hello&End=Y" > </AutoLoad> </ext:Tab> <ext:Tab ID= "tab2" runat= "server" Title= "AutoLoad_Live" Height= "500" Frame= "true" > <AutoLoad NoCache= "true" Mode= "IFrame" Url= "http://cnweb.search.live测试数据/results.aspx?q=Hello&End=Y" > </AutoLoad> </ext:Tab> </Tabs> </ext:TabPanel> </form> </body> </html>.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }
PS: 这篇文章是用Windows Live Writer来写的,感觉效率高了很多,排版也好了,Cool, I like it!( – 。- !) 感觉有点卖广告味道~
查看更多关于Coolite Cool Study 2 同时更新多个Tab的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did35980