跳到主要內容

發表文章

目前顯示的是 11月, 2016的文章

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>