跳到主要內容

發表文章

Base64 加密帶入URL 傳值加號會變空白問題

ASP 中網頁常會用到 GET  方式帶參數傳送資料,最近發現在使用過 Base64 編碼後在目標網頁利用 QueryString 得到的值無法完全解碼,進而發現 '+' 被轉變成為空白,進由保哥 & 黑暗執行緒文章了解如下: URL 傳參數時 '=' , '+'  兩者會被視特殊符號,第一個用來賦值 ( 例: param=abc),而加號則被視為轉換空白符號(例: a b => a+b),之後解碼完再還原成空白。而 Base64 加密後產生的加號若沒有經過必要處理的話,在 QueryString 取值時 Base64 解密完加號也就被還原成空白 @@||| , 解決這個問題利用 HtmlUtility.URLEncode (url) 它會自動幫忙將編碼 '+' 轉換,這樣在做 QueryString 就會得到應該看到的加號而不是空白了。

JQUERY 中使用 val( ) 或 text( ) 來改變內容

就字眼看來兩者差別不太... 簡單的說 TextBox 利用 val( ),而其它的控制項元件則用 text( ) 底下範例可跑跑看或ID 對調實驗,很快就看出差別了... HTML: <input type="text" id="txtinupt" value="TEXTBOX"/> <label id="lblid">LABEL</label> <button onclick="TestFunc()">OK</button> JS: function TestFunc(){   $('#lblid').text("12345")   $('#txtinput').val("99999");   $('#lblid').focus();   console.log('Function End') }

透過 JQuery 呼叫 ASP.NET 元件方法

Client 端常會需要呼叫到 Server 端的元件並做處理,底下是個判斷郵件地址錯誤後透過 Client 端將字體改為黃色、背景改為紅色的範例,利用 JQuery 呼叫ASP.NET 元件方法如橘色字體, 這對寫過 ASP 的同鞋應該看的懂 BJ4 吧,不然就太 GG 了 JQUERY: var em = document.getElementById("<%= email.ClientID %>").value; // JavaScript 用法  if (em == "電子郵件地址錯誤!") {   $(" #<%= email.ClientID %> ").css('color', 'yellow');       // 這裡是 JQuery 抓取 ID=email 的做法   $(" #<%= email.ClientID %> ").css('background-color', 'red'); } HTML:  <asp:Label ID="lblEmail" runat="server" Text="電子郵件地址:"></asp:Label>     <asp:TextBox ID="email" runat="server" OnTextChanged="Email_TextChanged" AutoPostBack="true"></asp:TextBox>

快速鍵列表

目前因開發環境為VS2015,記錄到 2016/10/26 為止(持續加入修訂中..,Windows 有空再補上) 就個人所知並實際在開發中常用快速鍵整理如下,若有遺漏或有先進前輩有好用快速鍵,也請讓我知道加入 Windows: Win + Tab: 切換不同畫面 Win + L   :   鎖定電腦 Win + E   :  開啓我的電腦  Win + D  :   切換到桌面 Win + 加/減號 : 放大/縮小 畫面 Ctrl + W :  刪除網頁 Ctrl + Shift + T:  恢復剛刪除的網頁 Visual Studio 2015: F7 : 程式碼 Shift + F7 : 設計畫面 Ctrl + C : 複製內容 Ctrl + V : 貼上內容 Ctrl + Y : 復原前一個 Ctrl + Z 動作 Ctrl + Z :  復原前次動作 Ctrl + K + C : 加上註解 Ctrl + K + U : 解除註解 Alt + 滑鼠滾動 : 垂直選取內容 選取左大括號後,Ctrl + ] :  找到匹配右大括號 Other: Ctrl + Shift + Del : Chrome 叫出清除瀏覽器記錄內容畫面

HTML 使用 < pre > 內容過長時如何換行

簡單一句話,利用 white-space & word-wrap 兩者合起來就可以搞定囉! HTML: <div>   <pre> I am the pizza11 I am the pizzaI am the pizzaI am the pizzaI am the pizzaI am the pizzaI am the pizzaI am the pizzaI am the pizzaI am the pizzaI am the pizza   </pre> CSS: pre{   position:absolute;   left:10%;   border:solid 3px;   white-space: pre-wrap;   // pre-wrap 設定使空白保留,但可正確換行   word-wrap: break-word; }

C# 中 List 複製內容到另一個 List 的幾種方法

簡單又實用 ^ ^ * 第一種透過 .ToList( ) 方法:  List<string> List1 = new List<string>();  List<string> List2 = new List<string>();  List1.Add("A");  List1.Add("B");  List1.Add("C");  List1.Add("D"); List2 = List1.ToList( ); * 第二種方式在建立物件時複製前一個 List  List<string> List1 = new List<string>();  List1.Add("A");  List1.Add("B");  List1.Add("C");  List1.Add("D"); List<string> List2 = new List<string>(List1); * 第三種方法新的List 中使用 AddRange( ) 方法  List<string> List1 = new List<string>();  List<string> List2 = new List<string>();  List1.Add("A");  List1.Add("B");  List1.Add("C");  List1.Add("D"); List2.AddRange(List1); 另可使用 List1.GetRange(Start, End) 來複製不固定大小(但不包含End)的內容

CSS 中使用 FlexBox(display:flex)

CSS 有個強大的排版屬性 display: flex 裡面功能很多,對我而言好用的就是下面的例子(三個 div 透過 flex:1 將 .content 平均分成三份大小一樣的div(因為 .flex 有三個),這樣做減少了許多複雜的計算功能... HTML: <div class="content">  <div class="flex1">1</div>  <div class="flex1">1</div>  <div class="flex1">1</div> </div> CSS: .content{  .content{   display:flex;   flex-direction:row;   width:700px;   height:150px;   background:green;   align-items:center;   // 垂直置中   jusify-content:center;  // 水平置中   flex-wrap:wrap;  // 超過允許換行 } .flex1{   width:50%;   display:flex;   color:green;   font-size:24px;   justify-content:center;   align-items:center; } .flex1:nth-of-type(1){     flex:1;     background:red; } .flex1:nth-of-type(2){     flex:1;     background:yellow; } .flex1:nth-of-type(3){     flex:1;     backgro...