2012年6月30日 星期六

利用GridView、DetailView製作Master-Details 主表明細

Master-Details (主表明細、主細表) 是每個系統(購物系統、新聞系統、進銷存系統…)都會用到的功能,這篇文章主要是說明利用Visual Studio 2010 現有的控制項來完成簡易的主細表。

範例如下:Master主表用來顯示標題title,按下該欄位最右方的select選取按鈕,就可以看見該篇文章的詳細內容。

◎以上程式範例AspNet38_1.aspx,如在頁框下不能操作,請開新視窗操作
◎如果有問題歡迎您提出,dnowba很需要有人和我一起討論

ASP.NET GridView上刪除欄位資料時,出現confirm box 確認視窗

DNOWBA在 ASP.NET webform上加上JavaScript對話框 已經寫過一個簡單的方法,是把刪除的確認視窗寫在html原始碼裡,如果是使用像GridView這類的控制項,在產生每個欄位的時候,就會自動調整GridView裡的小控制項。

如果要更靈活的和客戶端「互動」,把刪除哪份資料也在confirm 視窗裡頭提示,如下圖,在按下刪除按鈕的時候,顯示的confirm box會帶出刪除哪一篇文章的訊息(反白的文字就是標題),這樣的話更可以知道自已到底是按了哪個刪除按鈕,刪除資料前會更有保障。
image

那麼,我們可以把script寫在後置程式碼裡來完整控制。不過,愈是要「完整控制」,牽涉的程式碼愈複雜,我想這是免不了的,不過也因為這樣,我們可以學習更多的控制項內容…蠻有趣的。

2012年6月28日 星期四

ASP.NET webform上加上JavaScript對話框

dialog box 對話框(對話視窗/對話盒)是用來顯示特殊訊息,觀看者需要作出回應後才可繼續操作。JavaScript內有三類對話方式,windows上分別使用三個method:
window.alert( ) window.confirm( ) window.prompt( )

上面是我們在以前程式設計知道的,在ASP.NET裡頭也有運作的方法,這邊先以一般的html狀況來做複習,探討什麼時機用什麼樣的對話框,最後再提到ASP.NET裡使用的方法。

image

image

2012年6月26日 星期二

在GridView上按下button時,畫面固定位置

這個範例很難用言語解釋
我也很不會說這個功能到底是什麼
建議大家實際測試一下

先圖解一下好了:

GridView 已經在視窗的很下面(瀏覽器旁邊已經出現捲軸橫桿)的時候,我們按下「Select」按鈕
image

結果畫面一重整,視窗就跳回畫面最上方了,必須把畫面拉到下方才能看到選取的欄位,很不方便
image

如果是要編輯這個欄位的時候,那麼這個狀況就要排除,要避免這個問題,解決方式就是在HTML原始碼的page指示詞上,加上 MaintainScrollPositionOnPostback="true" ,程式碼如下:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="AspNet36.aspx.vb" Inherits="AspNet36" MaintainScrollPositionOnPostback="true" %>

如果要實際測試的話,可以試試
(1) http://dnowba.somee.com/AspNet35.aspx 這個是沒有加上MaintainScrollPositionOnPostback
(2) http://dnowba.somee.com/AspNet36.aspx 這個是加上MaintainScrollPositionOnPostback

這個屬性的命名,字面上的意思也很清楚,意思就是
「維持捲軸位置當postback時」
所以當然也不是只有GridView上的commandfield命令欄位可以使用啦
只要有觸發postback條件的控制項都可以用這個來維持畫面位置

2012年6月25日 星期一

GridView 的選取醒目效果

主要是說明一下GridView的選取按鈕產生方式,與選取後改變欄位底色讓被選取的欄位更加醒目,主題是在說明「關於屬性的設定時機」
 image

2012年6月21日 星期四

修改 FormView 的「新增/刪除/修改 模式」的樣式

資料繫結控制項,能快速的做資料庫與webform之間的互動
像formview、detailsview…等等的控制項用起來很快速
但若是對「畫面」很講究的人
那麼在外觀上略顯陽春的控制項就需要加以美化了
這是我最近在學的東西
慢慢的,單單只運用asp.net裡現成的控制項不大能滿足我了
偏偏這些控制項是不容易做大幅的修改
有點像是寫作文時,老師給你橫式格子的,你怎麼硬寫成直式…除非你自已畫格子
這些控制項就是一個制式的東西

我的夢想比較簡單一點
以前dnowba幾乎都是被控制項給「控制」…因為不大會程式語言
現在dnowba想要小小的「控制」一下控制項…因為慢慢學習了控制項裡的函式

這邊以FormView 為例
主題談談怎麼個別修改 FormView 的「新增/刪除/修改 模式」的樣式

image

image

2012年6月20日 星期三

ADO.NET 與 ASP.NET 的溝通橋梁:資料繫結控制項(以FormView為例)

image

不管開發的是Web Form 還是 Windows Form 介面的軟體,背後都一定有資料庫 DataBase 。 Web Form 裡,以前的ASP時代(Active Server Page)有ADO來和資料庫溝通,php、jsp也都有對應的技術,而 .NET 技術中,就是ADO.NET了。

在ASP.NET來開發Web Form時,我們便是靠著核心ADO.NET,並利用開發控制項-「資料繫結控制項」來達成資料庫與操作介面上的互動。對於ADO.NET的理論我還在學習,從實作控制項FormView裡頭,得到一些學習心得,在此分享

2012年6月14日 星期四

CKEditor上整合CKFinder (使用ASP.NET VB語言)

FCKediotr 從改版並重新命名為 CKEditor 後,原本在文字編輯器上插入本地圖片的功能被拿掉了
image

現在要使用本地上傳的話,需要使用額外的插件 CKFinder,上下圖比較一下,使用後「瀏覽伺服器」「上傳」二個功能才可以打開
image

底下就紀錄一下怎麼實現這個功能,實作的內容
在VISUAL STUDIO 2010 裡,整合 CKEditor.NET 3.6.2 與 CKFinder 2.2.1 (建置的web 平台是vb語言)

Date and Time Formats (ISO 8601)

沒什麼好說的,就是日期時間的格式規範,以降低軟體間的溝通障礙

Different standards may need different levels of granularity in the date and time, so this profile defines six levels. Standards that reference this profile should specify one or more of these granularities. If a given standard allows more than one granularity, it should specify the meaning of the dates and times with reduced precision, for example, the result of comparing two dates with different precisions.

The formats are as follows. Exactly the components shown here must be present, with exactly this punctuation. Note that the "T" appears literally in the string, to indicate the beginning of the time element, as specified in ISO 8601.

Year:
YYYY (eg 1997)
Year and month:
YYYY-MM (eg 1997-07)
Complete date:
YYYY-MM-DD (eg 1997-07-16)
Complete date plus hours and minutes:
YYYY-MM-DDThh:mmTZD (eg 1997-07-16T19:20+01:00)
Complete date plus hours, minutes and seconds:
YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00)
Complete date plus hours, minutes, seconds and a decimal fraction of a
second
YYYY-MM-DDThh:mm:ss.sTZD (eg 1997-07-16T19:20:30.45+01:00)
where:

YYYY = four-digit year
MM   = two-digit month (01=January, etc.)
DD   = two-digit day of month (01 through 31)
hh   = two digits of hour (00 through 23) (am/pm NOT allowed)
mm   = two digits of minute (00 through 59)
ss   = two digits of second (00 through 59)
s    = one or more digits representing a decimal fraction of a second
TZD  = time zone designator (Z or +hh:mm or -hh:mm)
This profile does not specify how many digits may be used to represent the decimal fraction of a second. An adopting standard that permits fractions of a second must specify both the minimum number of digits (a number greater than or equal to one) and the maximum number of digits (the maximum may be stated to be "unlimited").

This profile defines two ways of handling time zone offsets:

Times are expressed in UTC (Coordinated Universal Time), with a special UTC designator ("Z").
Times are expressed in local time, together with a time zone offset in hours and minutes. A time zone offset of "+hh:mm" indicates that the date/time uses a local time zone which is "hh" hours and "mm" minutes ahead of UTC. A time zone offset of "-hh:mm" indicates that the date/time uses a local time zone which is "hh" hours and "mm" minutes behind UTC.
A standard referencing this profile should permit one or both of these ways of handling time zone offsets.

2012年6月10日 星期日

在ASP.NET (使用VB語言) 修改 CKEdtior

 

因為官方提供的是教學文件主要是java語言寫的,雖然有教到在asp.net上的使用方法,但偏偏又是 C# 不是 VB ,對我來說很是吃力… 所以以「在ASP.NET (使用VB語言) 修改 CKEdtior 」這類型的文章在網路上是很少見的,俗話說「萬法歸一」,我想對程式設計的高手來說…也許從開源碼更可以學習到 ckeditor 的精綷,這篇文章教學不敢,心得分享足矣…

image

ASP.NET 上使用免費的文字編輯器CKEditor

網站上若要提供文字輸入至資料庫的介面,CKEditor 可以說在功能、畫面上都能兼顧,最讓人稱讚的當然是他是免費且開放源始碼了。

image

CKEditor 早期叫做 FCKeditor ,是很多程式設計者在開發文字輸入介面時會參考的範本,甚至很多網站乾脆直接使用,像dnowba 這樣腦袋不夠靈光的人,想自已開發這樣的文字輸入編輯器是不大可能的,所以還是直接使用了…

dnowba 用 Visual Studio 寫 .NET 的網站一陣子了,早期要在 Visual Studio 上使用這個文字編輯器,其實是要在網頁上動很多手腳的,因為 FCKediotr 本來就不是針對開發平台來做的,那個時候要找參考的文章,大多是教 asp 網頁上怎麼嵌入FCKediotr 。不過後來這些熱心的coding們把它做成一個專門在 Visual Studio 開發平台上的控制項,在ASP.NET上要使用就相對簡單多了。

但是不知道是不是簡單過了頭,顯少看到網路上有STEP BY STEP的教學。
但DNOWBA覺得還是有一些眉角可以注意的,且用這篇紀錄一下自已使用的過程吧。
(注意:此篇非常針對asp.net開發環境裡頭調適ckeditor,官方的教學文件比較通用性,從官方文件我們可以讀個大概知道「可以改些什麼?」)

Related Posts Plugin for WordPress, Blogger...
// Dnow Function