上回說到利用Dreamweaver MX建立ASP.NET開發環境,並且在完全可視環境下做了資料顯示和刪除記錄等功能。
從實現的方式來看,所有操作都進入了DataGrid控制中,有網友說好比是個大型的插件,我倒覺得也是蠻形象的,當然它所具有的功能不是一般插件可以得到的,下面再繼續說說這個控制項在顯示資料或說操作資料時的幾中類別。
新增修改標題功能
DataGrid本身俱有了修改記錄的功能,只需在對話方塊中設定。
在Dreamweaver MX下打開我們先前編輯的default.aspx頁,轉到Application下的Server Behaviors窗口,雙擊“DataGrid(DataGrid1)”控制項(其實在MX中應該叫做伺服器行為才對,呵呵,一樣的咯),點選「Columns」右邊的加號按鈕,選擇第四項「Edit,Update,Cancel Buttons」編輯按鈕,名字有些長,不過它確實具有了這些功能。
在彈出的對話框中設置
Title:「刪除」-顯示欄位的標題;
Button Type:「Link Button」-以連結形式顯示,你也可以選擇以「Push Button」按鈕顯示;
Update Table:「dbo.笑話表」-選擇資料庫中需要修改的表
Primary Key:「序號」-主要關鍵字
Submit As:「Int」-就是序號欄位的屬性,這裡是數值類型
完成後「OK」返回,先別急著關閉控制對話框,你還需要設定要修改的欄位呢。
雙擊Columns域中的「標題」一欄,在彈出的對話框中將「Read Only」選取方塊設為不選擇,下面的「Submit As」只要選擇你在資料庫中標題對應的資料類型即可,這裡是“NVarChar”類型。
完成後「OK」返回,現在可以確定DataGrid控制項對話框了。好,盤測試一下這個修改功能。
在瀏覽器中現在應該是下圖的模樣了
點擊對應的“Edit”標題列的文字會用文字方塊替代,接著你可以修改文字方塊中的文字後點擊“Update”,看看結果如何:
不對啊,文字框中明明是文字的,怎麼都變成了「???」了!
根據網友xpilot的提醒,發現這是編碼上的問題。翻閱了一些ASP.NET的文檔,發現可以使用ResponseEncoding 屬性請求ASP.NET 使用UTF-8 編碼來傳送網頁。
http://chs.gotdotnet.com/quickstart/aspplus/doc/cultureencoding.aspx
在default.aspx源碼視窗的第一行,我們把ResponseEncoding="gb2312"中的“gb2312”修改為“UTF-8”
然後存檔再測試。如下圖所示,修改記錄成功了。