2021年9月1日 星期三

Views

tr 顯示或隱藏

 解決問題:如果要用前端控制tr的顯示或隱藏

  引用自下文參考,擷取文字記錄

  

方法1.
   //隱藏後頁面位置被占用,只是不顯示
	document.getElementById("id").style.visibility="hidden";
        document.getElementById("id").style.visibility="visible";
   實驗
   <table>
   	<tr id="test" style="visibility:hidden">
            <th>名稱1</th>
            <td>小明</td>
        </tr>
        <tr >
            <th>名稱2</th>
            <td>小楷</td>
        </tr>
   </table>
方法2.
	//隱藏後頁面位置被占用,只是不顯示,隱藏後顯示樣式會跑掉,會改變原有style,樣式會被覆蓋掉
=       
	document.getElementById("id").style.display="none";
        document.getElementById("id").style.display="inline";
    <table>
   	<tr id="test" style="display:none">
            <th>名稱1</th>
            <td>小明</td>
        </tr>
        <tr >
            <th>名稱2</th>
            <td>小楷</td>
        </tr>
   </table>
方法3
	$('#id').show()/hide() 樣式不會跑掉
<table>
   	<tr id="test" style="display:none">
            <th>名稱1</th>
            <td>小明</td>
        </tr>
        <tr >
            <th>名稱2</th>
            <td>小楷</td>
        </tr>
   </table>
方法4 直接下hidden可以隱藏該欄位
   
<table>
   	<tr id="test" hidden>
            <th>名稱1</th>
            <td>小明</td>
        </tr>
        <tr >
            <th>名稱2</th>
            <td>小楷</td>
        </tr>
   </table>
參考文章

2021年8月24日 星期二

Views

MS SQL 實務問題

 1.狀況遇到,遺機時遇到資料量大的產生指令碼,出現記憶體容量不足情況,

    解法:可用sqlcmd 參考

    缺點,資料描述無法複製過去。

2021年8月19日 星期四

Views

GCP WINDOW SERVER 2019 架站經驗

 1.一開始使用GCP建置的VM是英文版的,可以先設定語系和時間方便之後操作 使用。

    可以參考此網誌

2.安裝網站需要項目IIS.NET...等。

   參考書籍WINDOWS SERVER 2016 網路與網站建置實務4-5頁

3.安裝SQL SERVER 2014

   可參考此篇

    地雷:

   到這個步驟一直出現錯誤:需要安裝.NET Fremwork 3.5 Service Pack 1所  以回到第2步驟繼續安裝

                    


4.安裝完後,SQL SERVER 2014就可以參考第三步驟的網誌安裝即可正常使用。


5.最後參考此篇網誌去核對有沒有遺漏的IIS服務。


6.網站建置起來先去設定應用程式集區


7.然後新增自己的網站



8.一切設定好後,先丟一個首頁檔案index.html去看看是否能成功修改

    (記得預設文件對應才看得到)

9.公司網站部屬

     (1).丟github檔案進去

      地雷:發現一直出現500伺服器錯誤,原來是我沒安裝URL REWRITE功能

      參考此篇

    (2).安裝完成後,出現的第一個錯誤訊息

        


      解法參考

      原來是要打開這個位置的設定

      




  10.接下來網站正常設定後,要先進SQL SERVER 建立兩個帳號,

     (1)自己的 在安全性>登入(按右鍵建立新帳號)>SQL Server驗證>伺服器角色(public)>使用者對應 勾選對應資料庫 (資格對象 public/db_owner)>確定

    (2)專案登入的 在安全性>登入(按右鍵建立新帳號)>SQL Server驗證>伺服器角色(public)>使用者對應 勾選對應資料庫 (資格對象 public/db_datareader/db_datawriter)>確定


    (3)過程中有小雷,如果是用.bak檔案複製資料庫,記得在資料庫下面的安全性,先將過去的使用者角色刪除,在到上一層的安全性,去建立新的登入帳號,如果遇有不能刪除狀況,可參考此篇釐清問題










Views

CMD 運用

 1.查詢目前使用的作業系統版本

(1).打開 “命令提示元” 進入DOS 的視窗

(2).輸入指令: “systeminfo |findstr os”

2021年8月17日 星期二

Views

資料格式轉換

 1. varchar to float

--Num 欄位原資料是varchar格式
SELECT CAST(Num AS FLOAT) as FloatValue
FROM Area

2021年8月15日 星期日

Views

Excel

公式

1.字串取代第一個字和最後一個字變成[]


&符號表是有A邏輯和B邏輯
-參數1:哪個欄位,參數2:字串第幾個值,參數3:取代幾個字,參數4:要取代成什麼。
=REPLACE(A1,1,1,"[")&REPLACE(A1,LEN(A1),1,"]")
2.資料處理 



如何去除全形和半形空白 可以按Ctrl+H,在尋找目標打全形和半形空白,用取代變成空白即可。
Views

C# JSON字串轉

認識JSON格式轉換


//這個是JArray格式
string str_json=[{'姓名':'王曉雯'},{'姓名','芳雯雯'}]

1.using Newtonsoft.Json.Linq;

要去下載Newtonsoft.Json.dll的組件

2.將字串轉成JArray

JArray Jarry = JArray.Parse(str_json);

3.再將陣列的內容值轉成JObject為了能順利取得姓名屬性值

//表示取得第一個陣列的內容值轉成字串Jarry[0].ToString();
JObject Jobject=JObject.Parse(Jarry[0].ToString());

4.順利取值

Response.Write(Jobject["姓名"]); //結果是王曉雯

2021年7月2日 星期五

Views

forEach與陣列關係

 目的:在json格式陣列中,取得每個物件值並加總計算。

let data = [
    {
        Kind: "公共充電站",
        Charge: "免費",
        Location: "新興區公所 ",
        Address: " 高雄市新興區中正三路34號1樓(室內停車場)"
    },
    {
        Kind: "公共充電站",
        Charge: "投幣式",
        Location: "高雄市民權停車場(機車停車場) ",
        Address: " 高雄市新興區民權一路221號"
    }
  ]
例用forEach方式來取值

let total={
  free:0,
  paid:0
} //設定初始狀態,供資料分析,數字資料加總,也有可能是陣列資料push進去
data.forEach(function(item,index){
    if(item.Charge=="免費"){
    	total.free+=1;
    }else if(item.Charge=="投幣式"){
    	total.paid+=1;
    }
});
console.log(total); //最後看加總結果
這裡的item是代表每個物件,index是每個物件在陣列內的索引值

樣板字面值搭配,可顯示在畫面上
 	console.log(`免費站有${total.free}處,投幣式有${total.paid}處`);
 

2021年6月24日 星期四

Views

DeBug心得

 1.遇到500error

    (1)黃頁打開如果還是500錯誤,就要檢查webconfig是不是有問題。

    (2)黃頁測試:可以打開黃頁後故意找一頁正常頁面,改壞它看有沒有出黃 

        頁。https://eristest.utrust.com.tw/dispCore


2.如果遇到平常寫法怎麼改都改不動程式,可以先將程式改壞掉,或全註解,

   看看是否正常,有可能是生命週期造成的(網頁堆疊的方法有關)

  

2021年6月18日 星期五

Views

VS CODE 搭配Git

1.建立分支 

2.分支切換

    


 在D槽下我有MyProject的資料夾,裡面的NewProject是專案所在位置,所 以在cmd地方,可以直接下git checkout main 回到主分支左上角打勾代表成功切回,也可以透過左上角迴轉箭頭去切換分支。

2021年6月15日 星期二

Views

JavaScript基礎語法

 1.取得click後的內容和類別名稱

  <h2 class="title">標題內容</h2>

  <script>
           const title=document.querySelector(".title");

            title.addEventListener("click",function(e){
                console.log(e.target.textContent); //取得標題內容
                console.log(e.target.getAttribute("class")); //取得類別名稱
            })
   </script>

2021年6月13日 星期日

Views

JavaScript 和Jquery差異比較

 1.在區塊放入html元素字串 有<div id='cards'></div>

 js:

document.queryselect('#cards').innerHTML='<p>文字</p>';


jquery:

 $('#cards').html('<p>文字</p>');

2021年6月4日 星期五

Views

API 傳值和回傳

 目的:練習使用json.html和json.aspx發出ajax請求,並使用json.ashx(沒有畫面的api)返回json物件格式


1.json.html語法

<!DOCTYPE html>
    <head >
        <title>JSON</title>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>                        
    </head>
<body>
    <H5>Hwllo World</H5>

    <script>
    $.ajax({
        url: "json.ashx",
        data: {"id":"0125","name":"Tina"},
        type: "POST",
        dataType: "json",
        success: function(returnData){
            console.log(returnData);
        },
        error: function(xhr, ajaxOptions, thrownError){
            console.log(xhr.status);
            console.log(thrownError);
        }
    });

    </script>
</body>
</html>

$.ajax各屬性代表意思
(1).請求ashx檔案的時候 要把contentType去掉,還有就是
data 格式為 {”key”,”value”};切記 不要再 大括號外面加雙引號,這樣就會在ashx頁面取不到資料而失敗。
(2).
contentType
contentType是網頁要送到Server的資料型態,若沒指定則預設為'application/x-www-form-urlencoded; charset=UTF-8'
dataType
dataType是網頁預期從Server接收的資料型態,若沒指定則jQuery會根據response的MIME type來推定為xml, json, script, html, text。

2.json.aspx語法code behind要有json.aspx.cs就不放上

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Template.aspx.cs" Inherits="Template" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head >
    <title>Ch2</title>
<title>Bootstrap Navigation Bar</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
 

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>                     
</head>

<body >
<h1>This is Empty</h1>

<form runat="server">

</form>


<script>


$.ajax({
    url: "json.ashx",
    data: {"id":"0125","name":"Tina"},
    type: "POST",
    dataType: "json",
    success: function(returnData){
        console.log(returnData);
    },
    error: function(xhr, ajaxOptions, thrownError){
        console.log(xhr.status);
        console.log(thrownError);
    }
});


</script>

</body>
</html>

3.調用json.ashx的API


<%@ WebHandler Language = "C#" Class = "ResponseOds" %>
using System;
using System.Web;
using System.Collections.Generic;
using System.IO;
using System.Web.Script.Serialization;
using Newtonsoft.Json;

public class ResponseOds : IHttpHandler
{
	
    public void ProcessRequest (HttpContext context)
    {
        
        string id=context.Request["id"]; //接到前端傳來值
        if(id=="0125") //判斷是0125的值,在將相對應要回傳值丟到前台
        {
            List<Student> lstStuModel = new List<Student>()
            {
                new Student(){ID=1,Name="張飛",Age=250,Sex="男"},
                new Student(){ID=2,Name="潘金蓮",Age=300,Sex="女"}
            };

            //Newtonsoft.Json序列化
            string jsonData = JsonConvert.SerializeObject(lstStuModel);

            context.Response.ContentType = "application/json"; //回傳json格式
            context.Response.Charset = "utf-8";
            context.Response.Write(jsonData);
        }

        
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }



    class Student
    {
        public int ID { get; set; }

        public string Name { get; set; }

        public int Age { get; set; }

        public string Sex { get; set; }
    }

參考資料 (1).(2).(3).

2021年5月21日 星期五

Views

抓取jquery下拉選單值的問題

 前端:每次要給下拉選單selectedIndex,值給到但是顯示確未變

原因:因為Boothtriap4 的顯示內容沒有更改到

解法:只要抓到顯示內容地方修改後就可以。

程式碼:


<select id="Num">
  <option>請選擇數字</option>
  <option>1</option>
  <option>2</option>
</select>
  <button>
     <div class="filter-option">
        <div class="filter-option-inner"> 
          <div class="filter-option-inner-inner">
            取餐囉 
          </div>       
        </div>
     </div>
</button>
let CityName=$(this).children(":first").data('info'); //取到目前抓取的jQuery物件,它子元素的第一個data-info的值
$("#Num")[0].selectedIndex =parseInt($('#CityIndex').val()); // 給予下拉選單選取值
$('#Num').next().children().children().children().text(CityName);  //最後抓取下拉旁邊的按鈕它的子元素子元素子元素內容進行修改
//想到更簡潔的寫法為利用find的方法,到按鈕內遍歷它的子元素,找到有div class="filter-option-inner-inner" DOM物件
$('#Num').next().find('div .filter-option-inner-inner').text('找到了')
//不同children()方法只能抓到第一個子元素


2021年5月8日 星期六

Views

工作架設本地端IIS所遇到問題

 前言

安裝本地端IIS所遇到的問題

1.IIS基礎安裝

2.rewrite功能尚未安裝



遇到這個錯誤表示IIS的rewrite功能尚未安裝
解決方式:1.參考文章2.參考文章

3.Asp.Net相關設定要瞭解,例如參考文章SessionTimOut

4.架設好後,一直跳出需要debugger視窗

上圖:這個需要使用即時偵錯工具,來查看程式碼

為什麼使用即時偵錯工具,不能附加id調用有錯誤,因為進程id會掉,要在網址上打上相關網頁多試幾次就能成功,參考附加進程觀念










Views

MS SQL資料備份

 前言

如何快速備份資料

1.打開產生指令碼工具

   


2.重點是要調整編輯指令碼的資料類型

   (1)結構描述和資料 (建表和資料) (2)僅限結構描述(建表)(3)僅限資料(建資料)
Views

Visual Studio 的ctr + 逗號沒有反應(設定小技巧)

 前言

  在看線上課程練習快捷鍵設定時,突然發現ctr + 逗號怎麼沒有反應?

  google後發現,參考保哥的文章找到相關設定方法,主要原因是原本

  win10的預設繁體中文版,預設輸入新注音,在visual studio中按下

  ctr + 逗號會造成其失效

 解決方式:歸納保哥的重點,在套用現在環境下,其實只有幾個步驟設定就 好了

 1.win10可以安裝新的English(United States)語言 (一開始找不到相關位置)
    按下開始>設定>時間與語言>語言>慣用語言(新增)
   

2.以上灌完,發現已經不用在後續設定,就可以正確使用了。

3.最後ENG輸入環境,語言切換快捷鍵是,Alt+Shift或Win+Space

2021年4月30日 星期五

Views

Visual Studio Community 2019 安裝設定

 目的:想變更安裝路徑來減少C槽負擔



 1.圖中IDE位置都可以自行選擇

 2.Download Cache和Shared components,tools and SDKs要到登錄的 

    編輯程式去修改預設位置

 3.執行WIN + R --> regedit --> HKEY_LOCAL_MACHINE -->SOFTWARE -->Microsoft -->VisualStudio --> Setup-->編輯 SharedInstallationPath ,如圖


參考好文:第一篇/第二篇/設定編輯程式位置

總結:SDK套建件不建議裝在固態的SSD套件,會增加磁碟的IO

2021年4月10日 星期六

Views

網頁文章排版

 1.標籤參考

 2.遷入程式碼為html會失敗,要使用HTML Encode轉換

Views

Jquery 函式庫用法

 1. animate() 動畫效果之意


一堆假文字 
  <div id="a"/></div>//隱藏錨點  
//搭配jquery
$('#mybtn').click(function(){   //當按鈕按下

    $("html,body").animate({   //html的body 動畫效果 就會搭配網頁卷軸效果 $.attr(this, 'position') 抓到該顆按鈕的position屬性
    scrollTop:$($.attr(this, 'position')).offset().top},1000); //scrollTop 控制網頁卷軸 1000 是動畫移動速度毫秒
    });//然後網頁卷軸以1000毫秒偏移到設定錨點的a位置上方 

2021年4月2日 星期五

Views

ASP.NET 前後端取值

 1.下拉選單

  前端:

  <select name="Dog">

  <option>請選擇你最愛的寵物</option>

    <option value="1">Dog</option>

    <option value="2">Cat</option>

</select>

  後端:

  (Request.Form["Dog"]??string.Empty)

Views

C# 基本觀念

 1.兩個問號

  int a=b??y (意思為:b如果是null的話,a就等同於y)

  int a=(b==null?y:b)

2.DataTable取欄位名稱和該值用法

foreach(DataRow row in dt.Rows)
{  foreach(DataColumn column in dt.Columns)
    {  //column.ColumnName 欄位名稱  row[column]欄位值
    Response.Write(column.ColumnName+":\t"+row[column]+"\t");
    }
    Response.Write("</br>");
}

2021年3月7日 星期日

Views

自訂使用者程式碼片段

 1.路徑

    



 2.選擇自己編輯器目前要編輯的語言我選C#

                            


3.參考文章

2021年3月3日 星期三

Views

Git Bash 指令

clear清空

1.pwd 首先知道目前位於哪裡

2.ls 知道該路徑下資料夾有什麼內容

3.git init 建立Repository初始化資料夾

4.git log看現在版本管理有哪些內容

5.git status追蹤目前內容

6. git add 檔名 (即使沒有內容也可以加入版本管理)

7.git commint -m "init" 提交

8. git config --global --list  查看使用者名稱和email

9. git log 4466238  只單純查看某個提交紀錄


------------------------------------------------------------------------

mkdir -p 資料夾名稱  (建立資料夾)

1. git checkout -b develope(分支名稱) 建立
2. git branch -d develope 刪除
3. git push origin --delete 遠端分支名稱

2021年3月2日 星期二

Views

ASP.NET JS註冊事件

 1.

string myScript = @"function AlertHello() { alert('Hello ASP.NET');}"
Page.ClientScript.RegisterClientScriptBlock(this.GetType(),
"MyScript", myScript, true);
第一個參數:使用型別(註冊腳本控制項類型,是控制項還是this的GetType()都可以,typeOf(string)也沒問題)/第二個參數為「腳本函數的名稱」也就是腳本函數的名字,根據實現的功能起名字/第三個參數為 腳本內容。需要注意的是第3個參數是js腳本內容,每一條語句結束加分號/第四個參數標明是否再添加腳本標籤,如果第四個參數裡包含了<script></script>標籤,此處則為false,否則為true
js註冊在ASP.NET頂部產生但在<form>標籤下面
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="O11Y7RGYEvejqiRRay4zlxPQxo2jyMqMAbHJAf3OjJ3684yRvLWVBqhIEeQA/+qEtJ/hKirLH3lNHd8EXGCwPIpKmQqMIySj+uovrEhpvzP/jlHFBZpZTK9ruoq7n1zL">
</div>
<script type=”text/javascript”>
<!–
function AlertHello() { alert(‘Hello ASP.NET’); }// –>
</script>


2.
string myScript = @"alert(document.forms[0]['TextBox1'].value);";
Page.ClientScript.RegisterStartupScript(this.GetType(),
"MyScript", myScript, true);
js註冊在ASP.NET底部產生但在</form>標籤上面
<script type="text/javascript">
//<![CDATA[
alert(document.forms[0]['TextBox1'].value)//]]>
</script>
</form>

補充:RegisterStartupScript 方法添加的腳本塊在頁面加載完成但頁面的 OnLoad 事件引發之前執行。

原文網址:https://kknews.cc/code/ypp6kek.html

3.
string myScript = "myJavaScriptCode.js";
Page.ClientScript.RegisterClientScriptInclude(“myKey”, myScript);
JS註冊在在ASP.NET頂部產生但在<form>標籤下面
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="ZgyuLcK8bB0p+BqVpP/lBFj726mrglK0SUUom02SQjfi1TlAD88592F2B1lX55wA/MnY+TFLYuiKzLdKPGRCbo4509nsJuunc+AdZ4nPwz62nkQhK4TlvpzK7lLttOw2">
</div>
<script src="myJavaScriptCode.js" type="text/javascript"></script>

2021年2月21日 星期日

Views

解決table 內的class 樣式會不見

如果要避免嵌入的CKEditor會自動變更我們設定好的樣式,要在config.js內設定相關屬性,其中config.allowedContent=true。但是因資安疑慮,所以相關設定config.allowedContent=false ,但要多一個標籤設定

  config.extraAllowedContent='figure; figcaption; caption; div(*); p(*); span(*); blockquote(*);table(*)';

table(*)表示可以接受table內添加屬性
Views

清除Chrome瀏覽器快取

 1.參考網址

2021年2月18日 星期四

Views

VS Code與Git

 1.將GitHub資料夾資料clone到自己的電腦

   命令提示字元 D:\GitHub>git clone 圖中複製的入徑,就會存在D:\GitHub\Project

                      

#參考資料






2021年1月23日 星期六

Views

SQL Server 資料庫角色創建

 1.使用系統管理者帳號創建新登入帳號,記得強制執行密碼原則不要勾選。



2.伺服器角色選擇最高級別的角色(sysadmin)


3.使用者對應的資料庫和成員資格要選對。


4.參考資料