2020年2月29日 星期六

Views

Hot Key in VS Code(快捷鍵整理)

1.快速生成html的文件格式:
    (1)先在網頁內輸入驚嘆號!
    (2)然後按下tab鍵
    (3)文件格式已經形成

2.載入CSS檔案
   (1)打上link:css
   (2)然後按下tab鍵
   (3)格式已經形成

3.載入JS檔案
   (1)打上script:src
   (2)然後按下tab鍵
   (3)格式已經形成

4.產生假文字
   (1)打上lorem(可以加上數字) 例如lorem1000
   (2)然後按下tab鍵
   (3)格式已經形成

5.複製想要的行數
   (1)滑鼠移到想要的行斷然後 ctrl+shift
   (2)ctrl+alt+向下鍵(出現光標)
   (3)成功複製

6.在頁面中出現这個詞的不同地方都出現光標
   (1).按ctrl+shift+L

7.重新命名多處變數
   (1).在變數上按f2

8.Ctrl+B 隱藏/顯示 sidebar

9.Ctrl+Shift+F 定義當前目錄下進行搜索

10.Ctrl+Shift+H 搜索/替換

光標
11. Ctrl+Alt+鍵盤下鍵

12.Alt+滑鼠左鍵 (點擊要編輯的位置)

13 Ctrl+D 找到相同字不斷重複按後修改

14.在要複製的語法上按下 Shift+Alt+上下鍵,可以複製該段程式碼片段

15.Ctrl+Shift+K 刪除當前行

16.Shift+Alt+A 進行區塊註解

17.Ctrl+Home 到文件開頭 Ctrl+End 到文件結尾

18.Window +上鍵 視窗放大  Window +下鍵 視窗縮小

19.Ctrl+Shift+N 打開VS Code新窗口

20.Ctrl+Home+F4 關閉當前文件


影片分享 1.

2020年2月28日 星期五

Views

Hot Key in Visual Studio 2017(快捷鍵整理)

累積知識滴水成石-記住快捷鍵讓編程更有效率

C#和MVC部分


1.打完prop按下tab鍵
   可以跳出public int MyProperty{get;set;}

2.打完mvcaction4按下tab鍵
   可以跳出
    Public ActionResult Action()
    {
          return View();
    }

3.打完mvcpostaction4按下tab鍵
    [HttpPost]
    Public ActionResult Action()
    {
          return View();
    }

2020年2月1日 星期六

Views

[開發問題] 'Microsoft.ACE.OLEDB.12.0' 提供者並未登錄於本機電腦上


    最近開發.NET Webform ImportExcel遇到如題的問題,為了解決這個問題,大概撞了四天牆。謝天謝地!我還是透過網路上分享的資訊,撞破這道牆,還是得紀錄下來,不然很快又忘記了。

問題解決過程:

(1)為什麼一直出現這個問題?
 網路上有一面倒的資訊是說,連線字串錯誤,確實我自己也是因為連線字串DataSource路徑出錯,不過網路上的網友比較沒提到這塊,每個人犯錯地方不一樣就東試試西試試這樣,以上題供正確寫法,大家在參考看看
/*取得EXCEL上傳的路徑*/
   string _conn = "Provider=Microsoft.ACE.OLEDB.12.0;"
                  + "Extended Properties='Excel 12.0;HDR=NO;IMEX=1';"  
                  + "Data Source=D:\\Demo\\test.xlsx";//每個人不一樣                       
                 
HDR ( HeaDer Row )若指定值為 Yes,代表 Excel 檔中的工作表第一列是欄位名稱,若指定值為 No,代表 Excel 檔中的工作表第一列就是資料了,沒有欄位名稱。

IMEX 有三種模式,分別讀寫行為也不同。
0 is Export mode
1 is Import mode

Extended Properties='Excel 12.0'這個是固定寫法,不要隨便改變,我當初還想說是不是Excel對應版本不同,所以這邊寫法要變,錯錯錯!!!!!
目前Excel 2007~2016都是寫這個啊!不要亂改。

(2)連線字串改過後為什麼還是錯?
 網路上還有一說法,就是windows灌的版本不同,和office版本不同才會出現問題,確實這個也是影響點(但是目前電腦都是64位元,所以只要知道自己office的版本,灌對應套件就可以解決問題了,網路舊資訊寫得太模糊了)。
先檢查作業系統我的是 windows 10 和 office 2016 32位元(我一直以為是64位元),導致我在灌Microsoft Access Database Engine 2010 可轉散發套件選64位元還是一直出錯。因為網路很多資訊都是片段,我東試試西試試也還是試不出來。
目前資訊如下(以我的作業環境解釋):
如果Provider=Microsoft.ACE.OLEDB.12.0 就要灌Microsoft Access Database Engine 2010 32位元版本
如果Provider=Microsoft.ACE.OLEDB.15.0 就要灌Microsoft Access 2013 Runtime 32位元版本,取決連線字串的寫法,去對應你要灌什麼軟體。基本上都可以打開xlsx檔案(目前我的office 2016測試過都沒問題)。

(3)綜合上述
1.出錯先檢查作業系統和office版本,去找office版本對應的套件如(2)所述
2.檢查連線字串每一個寫法,確保正確性,不然還是會出現如題的錯誤。
3.會記錄這篇原因:目前網路上解決資訊都太舊了,我相信這個老掉牙問題,還是會卡住新手的。
4.如果有路過的民眾參考了我的作法,可以留言給我,看看是否有成功解決問題,或是我有寫錯地方都可以跟我分享。

2019年12月9日 星期一

Views

[開發問題] C# 正則表達式的用法

1.何謂正則表達式
  http://www1.nttu.edu.tw/klou/course/921/js/09-regular.htm

2. 程式碼練習
 
using System;

     using System.Text.RegularExpressions;     

     public class Program

    {
       public static void Main()

      {

         string input = "%abqw-_1";
         string pattern = @"^[a-z0-9-_%]*$";(表示開頭(^)到結尾($)可以是比對到多次的a-z或0-9或一槓(-)或底線(_)
         或百分比(%))

          foreach (Match match in Regex.Matches(input, pattern))

           Console.WriteLine(match.Value);  

       }

    }

3. 練習教程
  https://www.runoob.com/csharp/csharp-regular-expressions.html

2019年11月9日 星期六

Views

GridView 和 Repeter 的範本

一、整理兩個的aspx檔

(1).   GridView

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="自己的檔名.aspx.cs" 
    Inherits="自己的類別" %>

<!DOCTYPE html>

<html>
<head runat="server">
<meta http-equiv="Content-Type" content="text/html"; charset="utf-8"/>
    <title>Template</title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
        <Columns>
          <asp:BoundField DataField="BID" HeaderText="BID"/>            
          <asp:TemplateField HeaderText="Button">
            <ItemStyle Width="50%"/>
                <ItemTemplate>           
              <asp:Button id="btn" runat="server" Text="test" OnCommand="btn_OnClick" 
                   CommandArgument='<%# Eval("BID")%>' Enabled='<%# Eval("Record").ToString()=="Y"? 
                   false:true %>'/>
         </ItemTemplate>
         </asp:TemplateField>
         </Columns>
 </asp:GridView>
        </div>
    </form>
</body>
</html>

(1).   Repeter

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="自己的檔案.cs"Inherits="自己的類別" %>

<!DOCTYPE html>
<html>
<head runat="server">
<meta http-equiv="Content-Type" content="text/html"; charset="utf-8"/>
     <title></title> 
</head> 
<body> 
  <form id="form1" runat="server"> 
  <div> 
     <asp:Repeater ID="Repeater1" runat="server" > 
        <HeaderTemplate> 
           <table border="1" cellpadding="0" cellspacing="0" 
               style="width:1006px;border-collapse:collapse; text-align:center;"> 
              <tr> 
                <th style="background-color:red">ID</th> 
                <th style="background-color:red">內容</th> 
              </tr> 
       </HeaderTemplate> 
       <ItemTemplate> 
              <tr> 
               <td><asp:Label ID="lblId" runat="server" 
                    Text='<%# Eval("id") %>' ></asp:Label></td> 
               <td><%# Eval("name") %></td> 
              </tr> 
      </ItemTemplate> 
      <FooterTemplate> 
         </table> 
      </FooterTemplate> 
    </asp:Repeater> 
  </div> 
  </form> 
</body> 
</html> 

 以上整理,是供平常練習的快速樣本!

(3). CodeBehide 資料來源的寫法,以GridView舉例

        
//將後端的DataTable丟到前端,記得dt要先add,然後用迴圈塞資料,GridView才能顯示
        DataTable dt =new DataTable();
        (this.可加可不加)GridView1.DataSource =dt;
        (this.可加可不加)GridView1.DataBind();
 
     最後謝謝這篇大大的分享,讓我學習到怎麼在網誌中將程式碼插入網誌中!

2019年11月2日 星期六

Views

sublime text3

目前家用主題

https://www.jianshu.com/p/aa74d6373be7
(此網頁主題,簡潔好用不傷眼)


常用快捷鍵,很重要!工欲善其身,必先利其器

1.Ctrl+Shift+L 先選中多行(Ctrl+A),再按下快捷键,會在每行行尾插入光標,即可同时编辑這些行。

2.sublime text多行光标批量快捷操作。
   Ctrl+ALT+↓(可以用在每行開頭)

   
3.Ctrl+F 按下右下角的FindAll,可以有多行修改提換效果。





4.Ctrl+Enter 在下一行插入新行。即使光標不在行尾,也能快速向下插入一行。

5.Ctrl+Shift+Enter 在上一行插入新行。即使光標不在行首,也能快速向上插入一行。

6.在每行將滑鼠焦點移到開頭home/結尾end,此檔案的開頭pgup/結尾pgdn。