Popular Posts
javax.net.ssl.SSLHandshakeException: Connection closed by peer in Android 5.0 Lollipop Recently, there is a error occurs when access website via ssl connection like below although it worked fine several days ago. // Enable SSL... Enable SSL connection for Jsoup import org.jsoup.Connection; import org.jsoup.Jsoup; import javax.net.ssl.*; import java.io.IOException; import java.security.KeyManagement... Build an OpenVPN server on android device Preparation An android device, in this case, Sony xperia Z is used Root permission required Linux Deploy for deploy i...
Stats
Tab control using url hash variant
Default.aspx
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5. <head runat="server">
  6.     <title>anchor test with tab design</title>
  7.     <style type="text/css">
  8.         ul.tab
  9.         {
  10.             margin: 1px 0px;
  11.             padding: 0px;
  12.         }
  13.         ul.tab li
  14.         {
  15.             display: inline;
  16.         }
  17.         ul.tab li a
  18.         {
  19.             padding: 3px;
  20.             margin-right: 2px;
  21.             background-color: #eee;
  22.             border: 1px outset gray;
  23.             font-size: small;
  24.             color: Blue;
  25.         }
  26.         ul.tab li a:hover
  27.         {
  28.             background-color: gold;
  29.         }
  30.         ul.tab li a.active_tab
  31.         {
  32.             background-color: Orange;
  33.         }
  34.         
  35.         div.tab_container
  36.         {
  37.             border: 1px solid gray;
  38.             padding: 10px;
  39.         }
  40.         
  41.         a
  42.         {
  43.             text-decoration: none;
  44.         }
  45.         a:hover
  46.         {
  47.             text-decoration: underline;
  48.         }
  49.     </style>
  50.     <script src="Scripts/jquery-1.6.2.min.js" type="text/javascript"></script>
  51.     <script type="text/javascript">
  52.         function tab_change() {
  53.             // 頁籤序號
  54.             var index = location.hash.substring(1);
  55.             if (!index) index = '0';
  56.             index = parseInt(index);
  57.  
  58.             // 變更頁籤css
  59.             $('ul.tab li a').removeClass('active_tab').eq(index).addClass('active_tab');
  60.  
  61.             // postback, 以觸發update panel更新
  62.             //$('<%=hdnTabIndex.ClientID%>').val(index);
  63.             __doPostBack('hdnTabIndex', index);
  64.         }
  65.         $(function () {
  66.             // 頁籤變更觸發
  67.             $(window).bind('hashchange', tab_change);
  68.             // 載入頁面時更新
  69.             tab_change();
  70.         });
  71.         
  72.     </script>
  73. </head>
  74. <body>
  75.     <form id="form1" runat="server">
  76.     <asp:ScriptManager ID="smPage" runat="server">
  77.     </asp:ScriptManager>
  78.     <ul class="tab">
  79.         <li><a href="#0" class="active_tab">第一頁</a></li>
  80.         <li><a href="#1">第二頁</a></li>
  81.         <li><a href="#2">第三頁</a></li>
  82.         <li><a href="#3">第四頁</a></li>
  83.         <li><a href="#4">第五頁</a></li>
  84.     </ul>
  85.     <div class="tab_container">
  86.         <asp:UpdatePanel ID="upTabContainer" runat="server" UpdateMode="Conditional" RenderMode="Block">
  87.             <ContentTemplate>
  88.                 <asp:HiddenField ID="hdnTabIndex" runat="server" />
  89.                 <asp:Panel ID="plTabContainer0" runat="server" Visible="false">
  90.                     第一頁內容
  91.                 </asp:Panel>
  92.                 <asp:Panel ID="plTabContainer1" runat="server" Visible="false">
  93.                     第二頁內容
  94.                 </asp:Panel>
  95.                 <asp:Panel ID="plTabContainer2" runat="server" Visible="false">
  96.                     第三頁內容
  97.                 </asp:Panel>
  98.                 <asp:Panel ID="plTabContainer3" runat="server" Visible="false">
  99.                     第四頁內容
  100.                 </asp:Panel>
  101.                 <asp:Panel ID="plTabContainer4" runat="server" Visible="false">
  102.                     第五頁內容
  103.                 </asp:Panel>
  104.             </ContentTemplate>
  105.         </asp:UpdatePanel>
  106.     </div>
  107.     </form>
  108. </body>
  109. </html>
Default.aspx.cs
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7.  
  8. namespace WebApplication1
  9. {
  10.     public partial class _Default : System.Web.UI.Page
  11.     {
  12.         protected void Page_Load(object sender, EventArgs e)
  13.         {
  14.             Tab_Load();
  15.         }
  16.  
  17.         protected void Tab_Load()
  18.         {
  19.             // postback參數
  20.             string _index = Request.Form["__EVENTARGUMENT"];
  21.             if (string.IsNullOrEmpty(_index)) _index = "0";
  22.  
  23.             plTabContainer0.Visible = false;
  24.             plTabContainer1.Visible = false;
  25.             plTabContainer2.Visible = false;
  26.             plTabContainer3.Visible = false;
  27.             plTabContainer4.Visible = false;
  28.             upTabContainer.FindControl("plTabContainer" + _index).Visible = true;
  29.         }
  30.     }
  31. }
Speed up VisualStudio using RAMDisk
STEP:
  1. Install RAMDisk and create a ramdisk r:
  2. Create a batch file and setting temp variant:
    @echo off
    set tmp=r:\
    set temp=r:\
    call "C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe"
  3. edit web.config
    <compilation debug="true" tempDirectory="r:\">