Category Archives: ASP.Net Tips and Tricks

Call Javascript in ASP.Net UpdatePanel —在ASP.Net 的 UpdatePanel 中使用/呼叫Javascript

在之前的 網誌 ASP.Net Call Javascript Method to make you ASP.Net Application more efficient — 在ASP.Net 中使用/呼叫Javascript 令到你的ASP.Net 網站走快一點順一點

介紹了如何使用ASP.Net Code Behind 來使用/呼叫Javascript
令到你的ASP.Net 網站走快一點順一點
相信大家很多時候都會使用UpdatePanel ASP.Net Ajax 的技術
但當你的頁面上有UpdatePanel 時便可能用不著這些在之前的網誌所介紹的 Code了…
我研究了一段日子..
最後找到了解決方法 =)

就是使用ScriptManager.RegisterStartupScript 來代替 Page.ClientScript.RegisterStartupScript

VB.Net
ScriptManager.RegisterStartupScript(Me, Me.GetType, “ShareChiWaiJS”, “alert(‘Welcome to ShareChiWai’);”, True)

C#
ScriptManager.RegisterStartupScript(this, Page.GetType(), ShareChiWaiJS”, “alert(‘Welcome to ShareChiWai’); “, true);

解釋
ScriptManager.RegisterStartupScript(“頁Page”, “Type 都是頁”, “Key Name”, “你將會使用到的 Javascript;”, “加上Script Tag E.g. 自動加上 <script type=’text/javascript’> </script>”);

Hope you find it useful.

ASP.Net Call Javascript Method to make you ASP.Net Application more efficient — 在ASP.Net 中使 用/呼叫Javascript 令到你的ASP.Net 網站走快一點順一點

最近因為要幫朋友改善他的ASP.Net Project 所以記下了一些使用ASP.Net 的心得
希望可以增加User Experience
大家有時間可以參考一下…

如果大家覺得有用的話..請留言給我…
這會給我有更加多的動力去寫多一些想這像的網誌 =)
可以改善我寫網誌的技巧

在ASP.Net 提供了一個十分方便的開發環境給我們
其中ASP.Net 提供了ASP.Net Ajax Control ToolKits
令到我們可以不用寫任何的Javascript 便可以實現用Javascript 的效果

但是他們都是Server Side Control..
所以需要進行PostBack, 把資料/Request傳到Server
之後Server 再把網頁/部分網頁Render到我們的Browser 中
這或多或小都會令到 顯示網頁有小小的Delay的…
令到使用者體驗不太好

如果可以在ASP.Net 中使用一些Javascript 這便事半功倍了 =)
今天想會大家介紹如何在ASP.Net 中 使用Javascript

在ASP.Net 中我們不可像在Windows Application 一樣
使用MessageBox.Show 來顯然 信息

但是我們可以運用ASP.Net Code Behind 來使用/呼叫Javascript功能
在沒有Update Panel 的情況下我們可以使用以下的程式碼實行 在ASP.Net call Javascript method

VB.Net
Page.ClientScript.RegisterStartupScript(Me.GetType, “ShareChiWaiJS”, “alert(‘Welcome to ShareChiWai’);”, True)

C#
Page.ClientScript.RegisterStartupScript(this.GetType(), “ShareChiWaiJS”, “alert(‘Welcome to ShareChiWai’); “, true);

解釋
Page.ClientScript.RegisterStartupScript(“這個類 System.Tye”, “Key Name”, “你將會使用到的 Javascript;”, “加上Script Tag E.g. 自動加上 <script type=’text/javascript’> </script>”)

現在相信大家都可以在ASP.Net 中使用/呼叫Javascript
Hope you find it useful

待續… 下集
Call Javascript in ASP.Net UpdatePanel —在ASP.Net 的 UpdatePanel 中使用/呼叫Javascript

How to improve ASP.NET Website performance Tips and Tricks — 如何令你的ASP.NET Website運作得更有效率/走得更快

最近在工作上被人分派了去幫朋友手, 去提升公司其中一個ASP.NET Web Project 的效能…
因為這個 Web Portal 比起之前的VERSION 會有更多功能會更好的使用者體驗
將會在大概一個月後會發報出來給客戶使用…希望藉些可以吸引更多新客戶/或減小客戶流失…
但現在還有一些 效能/速度問題/和使用者體驗方面 需要下一些功夫…
你可以想像一下, 即使一個網站有多美…有多功能…
但速度/User Experience反應…就會令個Web Site 失分..

所以我希望在將來的日子和大家分享一些我在ASP.NET Developement 的經驗
一些小Tips 這可能會令到你的asp.net 網頁效能更好

以下是小小的 tips, 當我有時間的時候會寫多一些文章加以解釋
怎樣實踐和為什麼這想做會快一點等等

令到一個ASP.NET Website 慢的原因有很多 [其實 PHP/JSP/其他的 Web 技術]

1) 使用AJAX
如果情況可以的話 用多一些AJAX 的技術..可以減小 全頁更新所需要的的 時間

2) 設定 EnableViewState=”False”
在ASP.NET 如果你在 BROWSER 上看看 網頁的原始碼
你會看到很多字串像

&lt;input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"
         value="/wEPDwUKMjA0NzE2Mzc0MmRkl+AVk6NWOQ5A8i+R2UgeVfq0XMY=" /&gt;

其實他是ASP.NET 產生出來的 用來記著 網頁的狀態, 很多的 ASP.NET 控制都會產生 ViewState 的
如果在 ASP.NET Control 上 設定 EnableViewState=”False” 便可以減小 這是不知名字串的產生了
亦都可以加快 頁面 Loading 的速度… 因為 原始檔會細一點

3) 使用Paging
當在當面上要顯示資料的話, 如果你把這個資料做分頁, 這便可以更加,頁面顯示的Loading 速度

4) 設定 Caching
可以減小 IIS server 的負荷, 可以在一次 不會變的

5) 優化SQL Query
如果你的ASP.NET 網面有用到資料庫的話…
如果能夠好好 優化SQL的查詢, 網面的 等候時間也會減小

以上是小弟的 概念…如果有什麼說得不對..請大家留言更正我的錯誤觀念

Hope you find it useful

待續…

ASP.Net — Named Pipes Provider: Could not open a connection to SQL Server [2]

這個週末..公司又升級資料庫, 由Microsoft SQL 2000 升級到 Microsoft SQL 2008
之後公司有位朋友Email 我叫我幫忙測試一下升級後的公司的網站有沒有什麼功能壞了

當我用Visual Studio 進行Debug
發現有一個功能是用要執行 一個Stored Procedure
而這條Stored Procedure 是會用到Linked ServerView 的複雜Query
出現問題..

由於這個功能在SQL2000 時使用時沒有問題的
所以想信不是程式上的錯誤…
而是SQL Server或一些設定的錯誤
Named Pipes Provider: Could not open a connection to SQL Server [2]

但是從SQL Server Management Studio 執行這個 Stored Procedure 是沒有問題的…
真是一個挑戰…

由於自己沒有權限可以用sa 來嘗試從新設定這個Server 所以為有慢慢想想有什麼地方有機會有問題…
到最後發現..這有可能是View… 因為之前嘗試過, 原本的Table加多了行或改了Column 久後
View 不能自動更新到最新的Table Defination
所以我便嘗試 重新建立這個View

結果..真的是解決了這個問題

Hope you find it useful

.Net Export DataGridView / GridView / DataTable To Excel XLSX or PDF —從DataGridView GridView DataTable 中導出資料到 Excel XLSX 或 PDF

早近公司有朋友希望我們可以Export In-house Application [Windows Application] 入面的 table DataGridView 到Excel Spreadsheet中…
這樣他們便可以Email 這些資料給客戶了

我終於在這個週末學會了怎樣把 DataTable/ DataGridView/ GridView Export To Excel SpreadSheet.
為了方便大家我把這個功能寫成了個library.
入面有三個功能
相對是

ExportDataTableToXLSX
— Export DataTable to Excel XLSX or PDF format
ExportDataGridViewToXLSX
Export DataGridView to Excel XLSX or PDF format
ExportGridViewToXLSX
Export GridView to Excel XLSX or PDF format

由於這個Library 是用 Office 2007/2010 的interop assemblies 來寫的

所以如果你們沒有 Office Primary Interop Assemblies
可以到以下URL  Download
Office 2007
http://www.microsoft.com/downloads/details.aspx?FamilyID=59daebaa-bed4-4282-a28c-b864d8bfa513&DisplayLang=en

以下是使用方法

Imports ShareChiWaiLib

Public sub Example()
XLSXHelper.ExportDataGridViewToXLSX(“DataGridView 的名稱”,
“True/False 是否包含 Column Header ->這會是DataGridView的 COLUMN HEADER”,
“FileType 是 ENUM 例如 ExportFileType.XLSX會Export XLSX Format 的 Excel 2007/2010 檔案
ExportFileType.PDF會成PDF Format的 檔案”,
“FilePath 是檔案要Export 到的路徑”, — E.G. C:PDF 必需要有這檔案夾的存取權限,
“FileName – 檔案名義, 包含 Extension E.g. .xlsx 或 .pdf”
)
其餘2個method 和這個差不多..我不加以解釋了

End Sub

大家可以到以下網址download 這個library 🙂

.Net 4.0
http://sharechiwailib.codeplex.com/releases/

如果你們發現Bugs或有任何意見/鼓勵等等…請你們留言給我…等我加更加多的功力, 令這個Library更好用 =)