ASP
NET的出現
使網絡程序員們設計程序的時候完全找到了
設計程序
的感覺
當然
更多的
他們感覺到了ASP
NET的得心應手
但是
沒有想偷懶就沒有進步
如果你僅僅依靠ASP
NET自己的強大功能而不想其他手段
那你很快就會發現別人設計程序比你會快很多而且輕輕松松
現在
我們來學習幾招偷懶的手段
讓別人跟在你後面敬佩吧
使用過ASP的朋友一定都記得
ASP的很多功能需要一些第三方的組件實現
比如文件上傳功能的實現就往往使用ASPCNUP組件實現
使用這些組件
不但可以擴展ASP程序的功能
而且
大大提高程序開發速度
我們這裡介紹的偷懶手段
也就是介紹幾款與我們平時設計密切相關的組件
一超級數據表格SuperDataGrid ASP
NET自帶的DatGrid功能強大
定制也很方便
但是
因為它不是專門為數據庫應用設計的
所以
在連接數據庫的時候
我們不得不首先連接數據庫
然後綁定數據
而SuperDataGrid 是專門為數據庫設計的
所以
那些繁瑣的連接數據庫我們也就沒有必要去寫了
需要
SuperDataGrid將DataGrid的一些屬性簡單化
使用這個控件
我們可以方便的實現數據庫數據的顯示
排序
修改數據
這些功能的實現
只要簡單幾行代碼就可以
我們現在來看它的使用
1
顯示數據表
以下代碼演示怎樣使用SuperDataGrid來簡單的顯示數據表中的所有數據
<%@ Register TagPrefix=
Super
Namespace=
Superexpert
Data
Assembly=
Superexpert
SuperDataGrid
%>
<Super:SuperDataGrid
ConnectionString=Server=localhost;UID=demo;pwd=secret;database=pubs
TableName=Titles
Runat=Server />
具體效果請看
http://wwwsuperexpertcontrolscom/superdatagrid/samples/sampleaspx
現在我們來簡單分析以上代碼第一行使調用SuperDataGrid控件我們在以後的舉例中都將使用到第二行和標准的DataGrid使用差不多我們看看SuperDataGrid的一些屬性
ConnectionString因為是連接數據庫當然少不了數據庫連接語句這個參數就是連接數 據的語句
TableName要顯示具體的表我們就在這裡定義
看到這裡我們已經感覺到了簡單但是在實際的應用中像這種直接顯示一個表的情況是很少的所以我們需要其他更多的功能最直接的我們需要Select語句的返回結果
<%@ Register TagPrefix=Super Namespace=SuperexpertData
Assembly=SuperexpertSuperDataGrid %>
<Super:SuperDataGrid
ConnectionString=Server=localhost;UID=sa;pwd=secret;database=Northwind
CommandText=Select ProductName CategoryName
From Products Categories Where ProductsCategoryID=CategoriesCategoryID
Runat=Server />
具體效果請看
http://wwwsuperexpertcontrolscom/superdatagrid/samples/sampleaspx
以上代碼返回Select語句的結果在這裡我們見到一個新的屬性
CommandText和Command一樣就是Select語句
2數據排序
在DataGrid中數據排序雖然簡單但是代碼還是不少我們現在來看SuperDataGrid中怎樣給數據排序
<%@ Register TagPrefix=Super Namespace=SuperexpertData
Assembly=SuperexpertSuperDataGrid %>
<form runat=Server>
<Super:SuperDataGrid
ConnectionString=Server=localhost;UID=sa;pwd=secret;database=Pubs
TableName=Titles
EnableSorting=True
Runat=Server />
</form>
具體效果請看
http://wwwsuperexpertcontrolscom/superdatagrid/samples/sampleaspx
仔細看以上代碼其實就是設置了一個EnableSortinga屬性為真也就是打開排序功能需要仔細注意的一點要將SuperDataGrid包括在Form中
3數據分頁
在ASP中很多朋友會為分頁煩惱現在我們看看SuperDataGrid中怎樣分頁
<%@ Register TagPrefix=Super Namespace=SuperexpertData
Assembly=SuperexpertSuperDataGrid %>
<form runat=Server>
<Super:SuperDataGrid
ConnectionString=Server=localhost;UID=sa;pwd=secret;database=pubs
TableName=Titles
EnablePaging=True
PageSize=
PagerStyleMode=NumericPages
Runat=Server />
</form>
具體效果請看
http://wwwsuperexpertcontrolscom/superdatagrid/samples/sampleaspx
我們來看看SuperDataGrid的幾個新屬性
EnablePaging首先我們當然要打開數據分頁
PageSize和DataGrid一樣每頁數據顯示的條數
PagerStyleMode和DataGrid一樣頁碼顯示方式
4數據編輯
我們知道在DataGrid中我們可以在直接編輯數據但是一般我們很少使用這樣功能因為這樣編輯數據不是很方便也不是很實用代碼編寫也比較多現在SuperDataGrid也提供這個功能當然我們不需要寫那麼多代碼只需要簡單的設置就可以其他SuperDataGrid全部幫我們弄好了
<%@ Register TagPrefix=Super Namespace=SuperexpertData
Assembly=SuperexpertSuperDataGrid %>
<form runat=Server>
<Super:SuperDataGrid
ConnectionString=Server=localhost;UID=sa;pwd=secret;database=Northwind
TableName=Products
EnableEditing=True
EnablePaging=True
Runat=Server />
</form>
具體效果請看
http://wwwsuperexpertcontrolscom/superdatagrid/samples/sampleaspx
看以上代碼如果需要編輯數據只要加EnableEditing屬性就可以了是不是特別簡單?當然我們仍然要將SuperDataGrid放在Form中
5緩存
ASPNET的緩存功能我們已經知道很強大但是具體到SuperDataGrid你會發現它更加方便使用SuperDataGrid的時候會自動緩存已經顯示過的數據來提高程序效率設置緩存功能可以使用CacheScope屬性我們可以設置緩存類型為ApplicationSession和 None
SuperDataGrid默認緩存類型為Application也就是所有用戶共用緩存如果采用Session緩存只針對特殊的用戶如果設置為None那就是不要緩存功能默認的緩存會保持分鐘當然我們可以使用CacheDuration屬性設置緩存時間單位為分鐘
二超級表單Superexpert DataForm
剛才我們看到SuperDataGrid已經具有數據修改功能但是由於數據浏覽和修改同時進行實際上我們很少使用那種方式更多的我們還說采用單個記錄修改
以往我們在使用表單修改或者增加數據庫數據的時候需要作的工作很多比如設置數據格式等如果數據比較多那更加繁瑣現在使用Superexpert DataForm我們可以簡單的實現這些功能
Superexpert DataForm可以自動保存或者修改數據庫數據還可以使用它自動從數據庫生成表單(實際是浏覽數據)我們甚至可以自定義樣式來自動修改更新數據庫表
1從數據庫自動生成表單
假設我們使用以下SQL語句生成一個叫CustomerSurveys的數據表
Create Table CustomerSurvey
(
Customer_ID INT NOT NULL IDENTITY Primary Key
Customer Varchar( ) NOT NULL
Age INT NOT NULL
Birthdate DateTime NOT NULL
Comments Text
)
這個數據表有Customer_IDCustomer AgeBirthdate和Comments五個字段我們可以使用Superexpert DataForm自動生成一個表單使用這個表單我們可以直接向該數據表增加數據
<%@ Register TagPrefix=Super Namespace=SuperexpertData
Assembly=SuperexpertDataForm %>
<html>
<head><title>SimpleDataFormaspx</title></head>
<body>
<super:SqlDataForm
TableName=CustomerSurvey
ConnectionString=Server=Localhost;UID=sa;PWD=secret;Database=Pubs
Mode=AddRecord
runat=Server />
</body>
</html>
具體效果如下
http://wwwsuperexpertcontrolscom/dataform/samples/sampleaspx
為了更好的理解Superexpert DataForm我們必須了解那些東西是可以自動生成的
表單中的TextBox寬度是根據數據表數據寬度自動生成的
填入表單中數據的驗證是自動生成的如果數據表要求數據不為Null那麼提交表單的時候就要求輸入如果數據為Int要求填入Integer如果數據為DateTime要求填入DateTime數據
點擊提交按鈕以後數據自動保存到數據表
所有我們要做的只是提供數據表名稱和數據庫連接字符串
二)設置DataForm模式
DataForm有以下幾種模式
AddRecord增加數據模式
UpdateRecord修改單條數據模式
UpdateTable成批修改數據模式
Custom提交數據時可以自己設置邏輯驗證
為了修改一條已經存在的數據我們必須設置DataForm模式為UpdateRecord然後我們必須確定修改那一條數據我們通過DataKeyField和DataKeyValue唯一確定一條數據DataKeyField是數據表主鍵DataKeyValue是一條數據的主鍵的值
以下代碼修改數據表中第三條記錄
<%@ Register TagPrefix=Super Namespace=SuperexpertData
Assembly=SuperexpertDataForm %>
<html>
<head><title>DataFormUpdateRecordaspx</title></head>
<body>
<super:SqlDataForm
TableName=CustomerSurvey
ConnectionString=Server=Localhost;UID=sa;PWD=secret;Database=Pubs
DataKeyField=Customer_ID
DataKeyValue=
Mode=UpdateRecord
runat=Server />
</body>
</html>
具體效果如下
http://wwwsuperexpertcontrolscom/dataform/samples/sampleaspx
以上代碼設置Mode為UpdateRecord設置DataKeyField為Customer_ID設置DataKeyValue為
如果我們需要修改數據表中的所有數據可以將DataForm模式設置為UpdateTable在設置為修改整個表以後會在數據表單上方生成一個導航條通過這個導航條我們可以浏覽數據表中的所有數據
<%@ Register TagPrefix=Super Namespace=SuperexpertData
Assembly=SuperexpertDataForm %>
<html>
<head><title>DataFormUpdateTableaspx</title></head>
<body>
<super:SqlDataForm
TableName=CustomerSurvey
ConnectionString=Server=Localhost;UID=sa;PWD=secret;Database=Pubs
DataKeyField=Customer_ID
Mode=UpdateTable
runat=Server />
</body>
</html>
具體效果如下
http://wwwsuperexpertcontrolscom/dataform/samples/sampleaspx
如果我們將模式設置為Custom我們就可以設置提交表單以後的動作比如以下代碼實現提交表單以後自動轉到ThankYouaspx頁面
<%@ Register TagPrefix=Super Namespace=SuperexpertData
Assembly=SuperexpertDataForm %>
<Script runat=Server>
Sub Form_Submit( s As Object e As EventArgs )
myFormSave()
ResponseRedirect( ThankYouaspx )
End Sub
</Script>
<html>
<head><title>DataFormCustomaspx</title></head>
<body>
<super:SqlDataForm
id=myForm
TableName=CustomerSurvey
ConnectionString=Server=Localhost;UID=sa;PWD=secret;Database=Pubs
Mode=Custom
OnSubmit=Form_Submit
runat=Server />
</body>
</html>
具體效果如下
http://wwwsuperexpertcontrolscom/dataform/samples/sampleaspx
3設置DataForm樣式
DataForm有四種樣式我們可以修改
HeaderStyle定義數據表單的Header樣式
LabelStyle定義數據表單的Label樣式
FieldStyle定義數據表單的Field樣式
FooterStyle定義數據表單的Footer樣式
DataForm還支持以下屬性設置
GridLines定義數據表單的線格式包括NoneBothHorizontal和Vertical
Height數據表單控件高度
Width數據表單控件寬度
BoderStyle數據表單邊框格式
BorderWidth數據表單邊框寬度
BorderColor數據表單邊框顏色
CellPadding數據表單控件大小
CellSpacing數據表單控件間間距
我們現在看一個舉例
<%@ Register TagPrefix=Super Namespace=SuperexpertData
Assembly=SuperexpertDataForm %>
<html>
<head><title>DataFormStyleaspx</title></head>
<body>
<super:SqlDataForm
HeaderStylebackColor=Salmon
FieldStylebackColor=yellow
LabelStyleFontName=Script
LabelStyleFontSize=pt
FooterStylebackColor=blue
Cellpadding=
Cellspacing=
GridLines=Both
BorderStyle=Dashed
BorderColor=red
BorerWidth=px
LabelStyleBackColor=lightgreen
TableName=CustomerSurvey
ConnectionString=Server=Localhost;UID=sa;PWD=secret;Database=Pubs
runat=Server />
</body>
</html>
具體效果如下
http://wwwsuperexpertcontrolscom/dataform/samples/sampleaspx
4自定義布局的DataForm
我們也可以自己增加控件設計數據表單布局可以增加的控件如下
● DataTextBox
● DataDropDownList
● DataRadioButton
● DataCheckbox
● DataListBox
● DataRadioButtonList
● DataLabel
每一個控件都擴展了標准控件的功能這些控件都有兩個屬性DataField和DataTypeDataField讓控件和數據庫的具體字段聯系起來DataType定義輸入數據的類型以下是一個增加數據的舉例
<%@ Register TagPrefix=Super Namespace=SuperexpertData
Assembly=SuperexpertDataForm %>
<Script runat=Server>
Sub Form_Submit( s As Object e As EventArgs )
myFormSave()
ResponseRedirect( ThankYouaspx )
End Sub
</Script>
<html>
<head><title>DataFormCustomLayoutaspx</title></head>
<body>
<super:SqlDataForm
id=myForm
TableName=CustomerSurvey
ConnectionString=Server=Localhost;UID=sa;PWD=secret;Database=Pubs
runat=Server>
Customer Name:
<br>
<super:DataTextBox
DataField=Customer
Runat=Server />
<p>
Age:
<br>
<super:DataTextBox
DataField=Age
Runat=Server />
<p>
Birthdate:
<br>
<super:DataTextBox
DataField=Birthdate
Runat=Server />
<p>
<asp:Button
Text=Add New Customer!
OnClick=Form_Submit
Runat=Server />
<p>
</super:SqlDataForm>
</body>
</html>
具體效果請看
http://wwwsuperexpertcontrolscom/dataform/samples/sampleaspx
三超級圖像文字控件Superexpert ImageText
我們知道ASPNET可以將文字生成圖象只是對我大部分用戶而言這些功能藏的有點深Superexpert ImageText讓我們可以很簡單的實現將文字生成圖象我們可以使用安裝在服務器上的任何一款字體來生成圖象也可以使用我們下面將要提到的所有圖象特效來生成圖象
我們可以利用Superexpert ImageText來快速的生成圖象它的好處是我們可以完全控制文字的樣式
1自動生成圖象
要使用Superexpert ImageText我們只要簡單的提供一個唯一ID和需要轉化的文字下面的舉例將生成Hello World
<%@ Register TagPrefix=Super Namespace=Superexpert
Assembly=SuperexpertImageText %>
<Super:ImageText
ID=ctrlHello
Text=Hello World!
Runat=Server/>
具體效果請看
http://wwwsuperexpertcontrolscom/imagetextbeta/samples/sampleaspx
為了取得更好的效果我們可以為文字設置字體和顏色也可以設置圖象背景下面的舉例就是這樣
<%@ Register TagPrefix=Super Namespace=Superexpert
Assembly=SuperexpertImageText %>
<Super:ImageText
ID=ctrlComic
Text=Hello World!
FontName=Comic Sans MS
FontSize=
ForeColor=DarkBlue
Runat=Server/>
<p>
<Super:ImageText
ID=ctrlImpact
Text=Hello World!
FontName=Impact
FontSize=
ForeColor=Red
BackColor=Black
Runat=Server/>
具體效果請看
http://wwwsuperexpertcontrolscom/imagetextbeta/samples/sampleaspx
需要了解的是無論采用什麼字體只要服務器上安裝了所使用的字體就行只要已經轉化為圖象所有浏覽器都可以正確的顯示
2陰影特效
通過設置DropShadow屬性我們可以將文字轉化為帶有陰影效果的圖象
<%@ Register TagPrefix=Super Namespace=Superexpert
Assembly=SuperexpertImageText %>
<Super:ImageText
ID=ctrlDrop
Text=Hello World!
FontName=Impact
FontSize=
DropShadowDisplay=True
DropShadowxOffSet=
Runat=Server/>
具體效果如下
http://wwwsuperexpertcontrolscom/imagetextbeta/samples/sampleaspx
針對陰影效果我們還可以設置以下屬性來增強
● DropShadowxOffSet水平方向偏移
● DropShadowyOffSet 垂直方向偏移
● DropShadowAlpha 設置陰影透明度
● DropShadowColor 設置陰影顏色
3旋轉文字效果
通過設置文字的RotateFlip屬性我們可以將文字進行旋轉
<%@ Register TagPrefix=Super Namespace=Superexpert
Assembly=SuperexpertImageText %>
<Super:ImageText
ID=ctrlHello
Text=Hello World!
FontSize=
RotateFlip=RotateFlipNone
Runat=Server/>
<p>
<Super:ImageText
ID=ctrlHello
Text=Hello World!
FontSize=
RotateFlip=RotateFlipNone
Runat=Server/>
具體效果請看
http://wwwsuperexpertcontrolscom/imagetextbeta/samples/sampleaspx
四)控制圖象背景
我們可以設置背景為漸進顏色圖片或者特殊圖案以下是一個漸進顏色背景的舉例
<%@ Register TagPrefix=Super Namespace=Superexpert
Assembly=SuperexpertImageText %>
<Super:ImageText
ID=ctrlHello
BackGroundGradient=True
CellPadding=
Text=Hello World!
Runat=Server/>
具體效果請看
http://wwwsuperexpertcontrolscom/imagetextbeta/samples/sampleaspx
我們還可以使用BackGroundHatchStyle屬性來設置特殊背景圖案和圖案顏色以下舉例就是一個波紋圖案背景的圖象
<%@ Register TagPrefix=Super Namespace=Superexpert
Assembly=SuperexpertImageText %>
<Super:ImageText
ID=ctrlHello
CellPadding=
BackGroundHatchStyle=Weave
BackGroundStartColor=Green
Text=Hello World!
Runat=Server/>
具體效果請看
http://wwwsuperexpertcontrolscom/imagetextbeta/samples/sampleaspx
5多行文字
通過設置圖象的寬度可以實現多行文字的效果
<%@ Register TagPrefix=Super Namespace=Superexpert
Assembly=SuperexpertImageText %>
<Super:ImageText
ID=ctrlHello
Text=This is a long paragraph that demonstrates how you can wrap text with the ImageText control
CellPadding=
Width=
BackColor=Orange
Runat=Server/>
具體效果請看
http://wwwsuperexpertcontrolscom/imagetextbeta/samples/sampleaspx
6定稿圖象
如果不想每次頁面變動都重新生成圖象可以設置Final屬性為True
四總結
以上介紹的一些控件我們在平時的設計中用的可能都比較多非常使用在我我們潛心研究ASPNET的同時我們可以學習利用這些工具來提高我們的工作效率和工作效果
From:http://tw.wingwit.com/Article/program/net/201311/15335.html