2016年10月12日 星期三

[筆記]Json Post 限制

參考:

如果要加大長度,在web.config中使用:

<appSettings>
  <add key="aspnet:MaxJsonDeserializerMembers" value="150000" />
</appSettings>

2016年9月18日 星期日

透過Email寫入OneNote(設定電子郵件至OneNote)

參考:

設定方式:

點擊[設定電子郵件至OneNote]

image[3]

上方會出現email地址,請勾選要使用的email,如果想透過其它email,可以選新增其他地址。

SNAGHTML279f8e

進入介面後,選擇新增電子郵件。

SNAGHTML214313

新增電子郵件(新增別名),可以建立新的email帳號,或是使用GMail等帳號。

image

新增別名後,會需要驗證。

SNAGHTML25ba91

驗證之後,再回到地址頁面,可以看到介面上多出了其他email地址。

SNAGHTML2019c6

再來選擇你要發布的筆記本位置,並按下儲存,完成設定。

image

使用方式:

以Gmail為例,以收件人填上 me@ onenote.com,填上主旨與內文,並發送。

image

此時,就可以在onenote筆記上收到發送的文章。

image

2016年9月9日 星期五

[筆記]資料庫寫入中文變成亂碼

參考文章:

問題描述:

  • 在輸入文字「憙」時,發現中文字變成亂碼。

解法一:

  • 在寫入欄位時,使用TSQL 前綴N'憙',EX:Set Name=N'憙'

解法二:

  • 查了當初寫入資料庫的語法,發現了問題點。
    • SqlParameter tParam1 = new SqlParameter("@Name", SqlDbType.VarChar);
      tParam1.Value = "憙";
  • 資料庫中欄位的型態,設定是NVARCHAR;程式端設定為NVARCHAR,中文就可以正確寫入。
    • SqlParameter tParam1 = new SqlParameter("@Name", SqlDbType.NVarChar);
      tParam1.Value = "憙";

2016年7月1日 星期五

[筆記]ScriptManager.AsyncPostBackTimeout 屬性

snip_20160701103353

有些程式執行會超過1分多鐘,postback運行後,發生timeout的情況。

有一部分是受到這個屬性的影響。這個屬性如過沒有設定,預設值是90秒。所以把此設定屬性拉長就可以。(通常ScriptManager會放在MasterPage中)

EX:
     AsyncPostBackTimeout=”5000”

 

參考:

https://msdn.microsoft.com/zh-tw/library/system.web.ui.scriptmanager.asyncpostbacktimeout(v=vs.110).aspx

2016年6月29日 星期三

讀取GoogleSheet資料,並透過範本排版

讀取Googe Sheet的JSON資料,並透過JQuery.tmpl範本來進行排版。

結果

補充:Google Sheet須發佈到網路,才可以使用JSON。

snip_20160629174502

2016年6月28日 星期二

MVC 判斷裝置


@if (Request.Browser.IsMobileDevice) {
  <!-- HTML here for mobile device -->
  <a>mobile</a>
} else {
  <!-- HTML for desktop device -->
  <a>pc</a>
}   

2016年6月12日 星期日

[筆記]asp.net postback後JQuery註冊事件失效

Asp.NET中,postback後會導致,JQuery註冊的事件失效。

參考

[筆記]asp.net 防止double click

add_beginRequest事件會發生在請求之前,以下面例子,
當發生postback時,會先把觸發postback事件的物件(如按鈕)隱藏,
之後在畫面上面寫入【作業處理中,請稍候...】字樣,
之後執行完postback後要處理的功能後,畫面就會刷新還原。

2016年6月6日 星期一

[筆記]動態載入js

var apiurl = ‘abc.js';
var jsFile = document.createElement("script");
jsFile.setAttribute("type","text/javascript");
jsFile.setAttribute("src", apiurl);
document.getElementsByTagName("head")[0].appendChild(jsFile);

2016年4月17日 星期日

asp.net透過iframe下載檔案

網頁下載方法:常見

  • 使用<a>網址下載的方式。
  • 透過事件的方式來處理。比如click事件後,觸發下載檔案的方法。

如果要資料來源為資料庫或是要透過程式處理一些邏輯,
常見作法是使用Response.Write處理檔案的標頭內容等資訊,
但直接處理會破壞原先網頁的結構,
所以常透過泛型檔(.ashx)或另一個頁面(.aspx)來處理檔案下載的部分。

在此要處理另外一個頁面處理下載檔案,可能會使用開窗或是導頁的方法。

  • 開窗:可能會受到瀏覽器設定限制,阻擋廣告等機制。
  • 導頁:會跑到另外一個頁面,但設計上可能不希望使用者離開原頁面。

網路上也提供另外一種做法,就是透過iframe的方式下載。

程式碼如下:

2016年2月2日 星期二

[筆記]MSSQL 限制存取

資料庫還原後,資料庫變成「限制存取」。

查了一下資料,限制存取被改動了。

【屬性】>【選項】>【限制存取】,改為MULTI_USER,即可。

image

image

參考:

[筆記]查詢SQL SEVER連線數

select  db_name(dbid) , count(*) 'connections count'
from master..sysprocesses
where 1=1
and spid > 50
group by  db_name(dbid)
order by count(*) desc

2016年1月22日 星期五

Javascript 月份轉數字

("JanFebMarAprMayJunJulAugSepOctNovDec").indexOf('Jan')/3+1

結果:

Jan=>1,Feb=>2…

2016年1月19日 星期二

取得Google OAuth 資訊

參考文章:[Asp.Net MVC] 使用Asp.Net Idetity整合Google登入
因為畫面有些許不同,在此做個筆記。
  1. 進入  https://console.developers.google.com/project
  2. 點擊【建立專案】。
    image
  3. 填入專案名稱,並選【建立】。
    image
  4. 建立完專案後,點專案名稱,進入專案管理介面【資訊主頁】,並點擊【啟用和管理API】。
    image
    image[59]
  5. 進入憑證,點擊【新增憑證】。
    image
  6. 選擇【OAuth用戶端ID】
    image
  7. 進入之後會提醒設定【設定同意畫面】。
    image
  8. 進入【OAuth同意畫面】後,請填入產品名稱,並確認。
    image
  9. 進入建立用戶端ID的畫面,選擇【網路應用程式】,並點擊【建立】。
    image
  10. 建立憑證的限制,設定授權的網址,點擊【建立】後完成。
    image
  11. 此時,即可取得OAuth的【用戶端ID】與【用戶端密鑰】。
    SNAGHTML1bf957d5
  12. 建立完成之後,憑證清單上,即可看到新增完的憑證。
    SNAGHTML1bfae386
  13. 回到API管理員的【總攬】,可以看到【Google+ API】的選項,點擊進入,
    確認API是否啟用。
    image
  14. 點擊【啟用API】。
    image

2016年1月14日 星期四

Microsoft.Jet.OLEDB.4.0' 提供者並未登錄於本機電腦上

參考文章:

  • Microsoft.Jet.OLEDB.4.0 在 64 bit 主機使用
  • Microsoft.Jet.OLEDB.4.0提供者並未登錄於本機電腦上 問題:
  • 開發環境:XP,32位元
  • 裝機環境:windows 2008,64位元
  • Microsoft Jet 不支援 64 位元的版本 解決方法:
  • 安裝 Microsoft Access Database Engine 2010 可轉散發套件 。
  • https://www.microsoft.com/zh-tw/download/details.aspx?id=13255
  • 原連線字串"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=…"
    ,改為"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=…”。
  • 安裝Microsoft Access Database Engine 2010 可轉散發套件:
    image
    image
    image
    imageimage

    2016年1月6日 星期三

    資料庫排程備份

    環境:

  • SQL Server 2008
  • 首先要先確認一下 SQL Server Agent 服務是啟動的狀態,若是上線的 SQL Server 主機建議將服務設定為自動啟動。
    以下就是登入 SQL Server Management Studio 時操作的畫面。
    開啟物件總管,SQL Server Agent > 按右鍵 >新增作業
    image
    依照左側選單依序設定,前三項是必要執行的:一般、步驟、排程。
    這個設定如下圖直接設定即可。
    image

    每一個作業中可以設定多項步驟。進入[步驟],點擊下方的 [新增]
    image
    選取:類型、資料庫
    再命令區中輸入要執行的T-SQL指令碼,可以點擊 [剖析] 測試是否可以正常執行。
    image
    T-SQL 指令建議事件撰寫好預存程序,在這個畫面上單純只是呼叫預存程序,不宜將太多程序放在這裡,避免日後要變更動作較繁瑣。
    此處輸入自行撰寫的預存程序,主要功能是進行壓縮某一個資料庫的LOG檔案,完整語法可參閱
    SQL 2008 Scheduling Backup and Shrink all db
    排程-設定
    每一個作業中可以設定多項排程。進入[排程],點擊下方的 [新增]
    image
    進入排程設定畫面,選取要執行的類型、執行頻率、時間…等。
    image
    這三個設定後,點擊下方的 [確定],就完成一項新作業,可以在[物件總管]中會看到。
    image
    補充:壓縮語法
    > USE MyDB;
    GO
    -- changing the database recovery model to simple.
    ALTER DATABASE MyDB
    SET RECOVERY SIMPLE;
    GO
    -- Shrink UserDB_log file to 20 MB.
    DBCC SHRINKFILE (MyDB_log, 20);
    GO
    -- changing the database recovery model to FULL.
    ALTER DATABASE MyDB
    SET RECOVERY FULL;
    GO