2011年8月25日 星期四

分享: 用Javascript寫成的多項選擇UI元件配合ASP.NET使用。

今晚有空,把自己以往用JAVASCRIPT所寫的UI元件拿些出來和大家分享一下,為何要自己寫UI元件? 因為我用過很多軟件,但發覺有些軟件內的UI元件是會很有用。但編程工具未必會提供的,以下就是其中一個我會用的UI元件,所以花了些時間用JAVASCRIPT寫成。先來一張圖:


我把此UI元件用於多項選擇,左面的是未被選擇的項目,你可以在選擇幾項項目後再按>按鈕,把那些選了的項目移動到右面的已選表。或是把右面的項目搬回左面的未選表,配合ASP.NET使用。以下是程序碼 :

分享~ 香港天氣報告程式的源碼(ASP.NET)

這是我以往用(ASP.NET)寫了的香港天氣報告程式 分享一下:


   1:  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
   2:   
   3:          Dim sHtml As String
   4:          Dim request As System.Net.WebRequest = System.Net.WebRequest.Create("http://www.weather.gov.hk/textonly/forecast/englishwx.htm")
   5:          ' 要抓取該日天氣資料的天文台網頁.
   6:   
   7:          request.Credentials = System.Net.CredentialCache.DefaultCredentials
   8:          ' 憑據確認.
   9:   
  10:          Try
  11:              Dim response As System.Net.HttpWebResponse = CType(request.GetResponse(), System.Net.HttpWebResponse)
  12:   
  13:              ' 回應確認有權取得該天文台網頁上的HTML程式碼.
  14:              Console.WriteLine(response.StatusDescription)
  15:   
  16:              ' 透過streamReader去存取該天文台網頁上的HTML程式碼
  17:              Dim dataStream As System.IO.Stream = response.GetResponseStream()
  18:              Dim sr As New System.IO.StreamReader(dataStream)
  19:   
  20:              sHtml = sr.ReadToEnd()
  21:              dataStream.Close()
  22:              response.Close()
  23:   
  24:              If sHtml <> "" Then
  25:                  '把抓取到的該日天氣資料拆開成陣列
  26:                  Dim WeatherParam As String() = sHtml.Split(vbCrLf)
  27:   
  28:                  '抓取該日的氣溫
  29:                  LblTemperature.Text = WeatherParam(12)
  30:   
  31:                  '抓取該日天氣的濕度值
  32:                  LblHumidity.Text = WeatherParam(13)
  33:   
  34:                  '抓取該日天氣縮圖
  35:                  LblWeatherCartoon.Text = WeatherParam(14)
  36:   
  37:                  '抓取該日天氣的Intensity
  38:                  LblIntensity.Text = WeatherParam(17)
  39:              Else
  40:                  LblTemperature.Text = "網頁無法正常顯示."
  41:              End If
  42:   
  43:          Catch ex As Exception
  44:              LblTemperature.Text = ex.Message
  45:   
  46:          End Try
  47:      End Sub


網絡編程系列(一): 編寫ASP.Net(VB)存取網絡內的電腦名稱

安安!! 這陣子要講的是如何以asp.net編寫網頁版的網絡應用程式。你會問為什麼要學用Asp.net來寫網頁版的網絡應用程式,而不是用VB.NET或C#來寫傳統的桌面應用程式呢? 我覺得有以下很多的好處:
  • 首先是網頁版的網絡應用程式不一定需要在用戶電腦上安裝,(註: 因應功能而定)。
  • 你可以在其他非windows的系統上使用網頁版的網絡應用程式,檢視和管理網絡資源。
  • 可以把已寫好的網絡應用程式碼複製到VB.NET,並修改成桌面應用程式使用。

菜鳥上路‧ 運用ASP MVC2 編寫資料分頁顯示(二)

大家好! 今日再來繼續講 <<編寫資料分頁顯示 >>

先前的範例已學習了如何在所有記錄中抽取分頁應顯示的記錄,哪麼現在就是要開始編寫分頁顯示,首要步驟便是新增一個頁數的顯示列class物件,然後再編寫頁數的程式碼於物件中。

我先在Solution Explorer新增資料夾名PageUI,並在資料夾內新增一個PageNumberUI.vb的class物件,如下圖:

菜鳥上路‧ 運用ASP MVC2 編寫資料分頁顯示(一)

安安!! 今日來再和大家一起學習ASP.net mvc2 吧!!
對於網頁程式員來說,懂得編寫分頁顯示資料是必要的事,試想想如果只用一頁網頁顯示幾千筆資料記錄,用戶看後不殺了你才怪!! 現在各大型網站都以分頁顯示資料的,懂得如何編寫分頁顯示資料就有基礎能力改良網頁的排版,明白了我們就馬上開始學習吧!!

以往有學ASP.net的朋友,會知道以往ASP.net是用GridView或DataGrid物件來作分頁顯示資料,並且十分簡單地用selectCommand方式把資料庫的資料提供GridView或DataGrid,無論你的程式碼如何不同,都是可以依相應的程式碼選GridView或DataGrid作分頁物件顯示。可是,到了MVC2,我發現是不能用GridView或DataGrid了(可能是我知識不足),要做到分頁顯示資料,我只想到兩個方法:

1. 用for loop 迴圈逐筆顯示資料,再自編寫分頁程式碼(舊式方法)
2. 用jquery或第三方的軟件等所提供的DataGrid物件作分頁顯示(有些可能要錢買)

但我今次要講的當然是前者!因為我覺得前者比較難,畢竟全部程式碼都是自己寫,當理解後再學後者較容易。

利用Microsoft Report Viewer 動態產出web 報表

安安!! 我發覺我最近寫的系統都會要求輸出大量的報表,而我當一想到這便會頭痛!! 因為制作報表的工具如Crystal report 都是要錢買的。於是在網上尋找一些免費的工具,卻意外發現我所用的免費系統開發工具Microsoft Visual web developer Express版原來有免費的報表add-on工具支援,於是我download了下來使用。而今日我抽空寫出一些步驟給大家吧!!


這個免費的報表add-on工具名為 Microsoft Report Viewer Add-on for Visual Web Developer 2008 Express Edition。


我用完了此報表add-on工具,發現它相比Crystal report或java jesper report有幾個好處:
首先是產生報表效率較快,因為不需安裝要任何額外的plug-in在用戶端。另外,它同樣可以產出excel 及pdf 檔案格式的報表。及最重要的是,微軟的產品一向有精靈自動產生程序碼,而此免費工具同樣有報表精靈產生程序碼. 我們只需修改程序碼, 慳了開發時間。
下載網址是:
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=b67b9445-c206-4ff7-8716-a8129370fa1d&DisplayLang=en 

Asp.net中MVC2以linq把資料庫的內容連結下拉式清單 (VB.net版本)

原由:
我係一間醫院從事技術支援,剛好醫院要求我寫一個web版 Inventory system (電腦器材管理系統),由於我部門只有我懂寫網頁,並且醫院資源有限,但我從前只會寫VB...所以我便決定以asp.net 加vb.net來寫。

新版的asp.net加了MVC2作為基礎. 記得我所接觸過的mvc是Java的struts,由於mvc的架構是在controller中編寫程序碼來連結資料庫,並與在Views 的部份編寫用戶介面 (Graphical user interface),其架構十分簡潔地分開了前台和後台兩層,故此個人認為此種架構的好處是一方面可以幫助其他編程人員(programmer)容易了解程式原作者的程序碼,另一方面促使編程人員與介面設計人員之間容易分工,畢竟有些人會專長於設計用戶介面(GUI),而另一些人則會擅於編寫連結資料庫的程序碼。
我曾在網上去找相關的教學文章,但發覺以教用vb.net來寫asp.net MVC2 的資料實存在很少。相反,以C#來寫asp.net mvc2則很多,經過我鑽研了幾星期,終於寫完了程式的主要部份,並且貼下一些程序碼及步驟是關於 [Asp.net中MVC2以linq把資料庫的內容連結下拉式清單] 給大家參考!!