2020年5月30日 星期六

Views

在Boothstraip 4 下引用fancybox

1.Boothstraip4版本 4.0.0 Jquery-3.3.1.min.js

   Boothstraip和fancybox 需引用檔案及順序,在head引用
<link rel="stylesheet" href="Boothstraip4/bootstrap.min.css" type="text/css">
<link rel="stylesheet" href="basicfancybox/jquery.fancybox.css">
 
然後在</body>結尾上面引用下面連結檔案,檔案在自行上網下載
<script src="basicfancybox/jquery-3.3.1.min.js" type="text/javascript"></script>
<script src="basicfancybox/jquery.fancybox.js" type="text/javascript"></script>
<script src="basicfancybox/fancybox-setting.js" type="text/javascript"></script>
<script src="Boothstraip4/bootstrap.min.js">
至於fancybox-setting.js 是當畫面一開始時找到給與fancybox的超連結,如:
$(document).ready(function(){
    $("#123").fancybox({  //#123 表示畫面有一個<a id="123" href="Hello.html"/>
        'overlayColor': '#000',
        'padding': 0,
        'width': 1000,
        'autoSize': true,
        'transitionIn': 'easingIn',
        'transitionOut': 'easingOut',
        'type': 'iframe'           
    });       
});
詳細屬性介紹可以參考,不在贅述。

2.畫面中<a id="123" href="Hello.html">ParentValue</a>

   其中href是彈跳視窗內頁的程式,可以是html和aspx檔案(但aspx檔案都 要伴隨aspx.cs檔案)

3.母頁傳值到子頁接值

   記得在子頁(Hello.html)要引用<script src="basicfancybox/jquery-3.3.1.min.js"         type="text/javascript"></script>其中接值寫法

<body>
This Is FancyBox Page
<p>The id for this column is: <span id="nameid"></span></p>
<script type="text/javascript">
$(document).ready(function(){$("#nameid").text(parent.document.getElementById('123').innerText); }); </script> </body> 
4.子頁傳值到母頁並關閉
   子頁寫上這段程式<input type="text" id="child"/>
<button type="submit" id="btn">送出</button>
<script type="text/javascript">
    $(document).ready(function(){
        $('#btn').click(function(){          
            parent.$.fancybox.close(); 關掉fancybox
            parent.GetVal($('#child').val()); 抓母頁GetVal方法,並傳id為child值過去
        });
    });
</script>
   母頁寫上<div id="parent"></div>
<script>
function GetVal(val)
{
  $('#parent').text(val);//在這個地方就可以賦予id為parent的值了
}
</script>
大功告成嚕!!!!!

2020年5月26日 星期二

Views

開發者工具

1.熱鍵觀念

   F10是逐步偵錯,不進入函式。
   F11是逐步偵錯,進入函式。

2020年5月24日 星期日

Views

JS選擇器 設定屬性 取值

HTML語法


<body>
    <h1 class="titleClass">
     <a href="#">title</a>
    </h1>
<div class="str" data-year="2019">
hello</div>

</body>
</b>

JS程式
var el=document.querySelector('.titleClass a');
el.setAttribute('href','https://www.yahoo.com.tw');

 
 var el3=document.querySelector('.str').getAttribute('data-year');
console.log(el3);

querySelector是選擇器
setAttribute是設定屬性
getAttribute是取得屬性值,其中data-year是自己設定的隱藏值


2020年5月23日 星期六

Views

NameValueCollection 類別

1.命名空間
   System.Collections.Specialized

2.給值
   NameValueCollection nv =new NameValueCollection();
   nv.add("1","Tina");
   nv.add("2","Peter");
   nv.add("3","Andy");

3.讀取所有值

   foreach(string key in nv.Allkeys)
  {
      Response.Write(key+":"+nv[key]);
  }

2020年5月20日 星期三

Views

Excel 匯入到Sql Server的方法

1.利用SqlServer內部直接匯入
   https://dotblogs.com.tw/shadow/2014/03/19/144441

2.Bulk Insert 方式
 
BULK INSERT Mytest
        FROM 'C:\Demo\test.txt'
            WITH
    (
                FIELDTERMINATOR = '\t',   --這是預設欄位結束字元
                ROWTERMINATOR = '\n'      --這是預設資料列結束字元
    )
 
  

2020年5月18日 星期一

Views

抓取Repeater內部的控制項

因為資料只有三筆,所以Items[0]表示第一列以此類推

前端:Code

 <div>
 <asp:Repeater id="rpt" runat="server">
      <headertemplate>
            <table>
      </headertemplate>
            <itemtemplate>
                <tr>
                <td>
                <asp:CheckBox ID="cb" Value='<%# Eval("id") %>' Text='<%# Eval("name") %>' runat="server"/>
                <asp:TextBox ID="txt" runat="server" Visible='<%# Eval("bool").ToString()=="T"?true:false %>'/>
                </td>
                </tr>
            </itemtemplate>
       <footertemplate>
            </table>
       </footertemplate>
 </asp:Repeater>
 </div>

後端:可以寫個按鈕直接打出來

TextBox txt = (TextBox)rpt.Items[2].FindControl("txt");

表示抓取第三列第二個TextBox值,因為資料只有三筆,其中隱藏第二個TextBox

2020年5月16日 星期六

Views

[ASP.NET 資安專區] 弱點掃描修正

1. ASP.NET debugging enabled
    why:因為沒有關掉黃頁,導致網頁錯誤資訊會曝光
    solution:在位置為system.web下方,將debug模式關掉
    <system.web>
              <compilation debug="false"/>
               <customErrors mode="RemoteOnly" defaultRedirect="500.htm">
                 <error statusCode="500" redirect="~500.htm"/>
     </system.web>

2. Clickjacking:X-Frame-Options header missing
    why:X-Frame-Options HTTP 回應標頭 (header) 用來指示文件是否能夠載入 <frame><iframe> 以及 <object>,網站可以利用 X-Frame-Options 來確保本身內容不會遭惡意嵌入道其他網站、避免 clickjacking 攻擊
    solution:設定IIS 請加入以下指令到網站的 Web.config 檔:

    <system.webServer>
     <httpProtocol>
          <customHeaders>
          <add name="X-Frame-Options" value="SAMEORIGIN" />
          </customHeaders>
     </httpProtocol>
    </system.webServer>
    參考文獻

3.ASP.NET version disclosure
  why:ASP.NET 版本揭露,對於網站是不必要的揭露資訊
  solution:APPly the following changes to the web.config file to prevent ASP.NET wersion disclosure
  <System.Web>
       <httpRuntime enableVersionHeader="false">
  </Sustem.Web>

4.SQL injection 注意所有http gte/post 都要防止惡意字串被惡意注入東西,所以後端接收參數改寫要注意

2020年5月14日 星期四

Views

使用APP_Code資料夾的方法

例如方法名稱為MyFun

namespace MyFun
{
    public class Add
    {
        public static int Math(int number)
        {
            return number+1;
        }
    }

    public class Write
    {
        public static string Name()
        {
            return "Trista";
        }
    }
    
}

在aspx.cs檔使用方式為:
可直接在Page_Load那邊呼叫
protected void Page_Load(object sender,EventArgs e)
{
   Response.Write(MyFun.Add.Math(1)+MyFun.Write.Name());
}


Views

[JS JQUERY]使用心得

1.可以在任何標籤加上元素

<lable id='My' data-id='1' >您好</lable>

取得方式:
alert($("#My").data("id"));  得值為1

2.可以使用選擇多個id同時添加想要的元素

        <lable id='My1' data-id='1' >您好</lable>
        <lable id='My2'>我好</lable>
        <lable id='My3'>誰好好</lable>

添加方式:
         $(document).ready(function(){
        
                 $("#My1,#My2,#My3").append('<input id type=\'text\'/>');
       
             });

3.How to trigger a click on a link using jQuery

<ul id="tit" class="gallery">
     <li>
    <a href="#inline" rel="prettyPhoto">Talent</a>
     </li>
</ul>
         $('#tit').find('a').trigger('click');
          $('#tit a').trigger('click');

2020年5月6日 星期三

Views

[VS CODE]版本控制

How To Use GitLens

1.一開始打開專案,若是多人合作一定要先從遠端抓取檔案回來,所以要
   使用Fetch Repositories。
    

Views

MS SQL指令整理

1.charindex(指令字元,目標欄位)

例如:
   
idnamepassword
1AmyA001
2PeterA002
3HappyB001
4MerryB002

當sql 語法為 select * from test2

where charindex('2',password)>0

此時模糊比對的資料就是
idnamepassword
2PeterA002
4MerryB002

*****大小寫沒影響。

2.用charindex(想要比對的欄位,目標欄位),來執行字串比對並創新欄位

資料表是test
id比對地址地址比對後欲創造新欄位
1台中市台中市龍興路10號1
2台北縣(102)台北縣大路里100號1
3桃園縣(102)台北縣大路里100號0
4台南市(102)台北縣大路里100號0
select *,對後欲創造新欄位=case when charindex([比對地址],[地址])>0 then 1
else 0 end from test


3.移除欄位最後字元可用REPLACE,加上轉型Convert

idkg
1100公斤
4100公斤/人
select convert(float,replace(replace(Gender,'公噸/月',''),'公噸','')) as kg from table