熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

即刻完成你的ASP.NET程序

2013-11-13 11:10:58  來源: .NET編程 
  ASPNET的出現使網絡程序員們設計程序的時候完全找到了設計程序的感覺當然更多的他們感覺到了ASPNET的得心應手但是沒有想偷懶就沒有進步如果你僅僅依靠ASPNET自己的強大功能而不想其他手段那你很快就會發現別人設計程序比你會快很多而且輕輕松松現在我們來學習幾招偷懶的手段讓別人跟在你後面敬佩吧

  使用過ASP的朋友一定都記得ASP的很多功能需要一些第三方的組件實現比如文件上傳功能的實現就往往使用ASPCNUP組件實現使用這些組件不但可以擴展ASP程序的功能而且大大提高程序開發速度我們這裡介紹的偷懶手段也就是介紹幾款與我們平時設計密切相關的組件

  超級數據表格SuperDataGrid

  ASPNET自帶的DatGrid功能強大定制也很方便但是因為它不是專門為數據庫應用設計的所以在連接數據庫的時候我們不得不首先連接數據庫然後綁定數據而SuperDataGrid 是專門為數據庫設計的所以那些繁瑣的連接數據庫我們也就沒有必要去寫了需要
SuperDataGrid將DataGrid的一些屬性簡單化使用這個控件我們可以方便的實現數據庫數據的顯示排序修改數據這些功能的實現只要簡單幾行代碼就可以我們現在來看它的使用

  1顯示數據表

  以下代碼演示怎樣使用SuperDataGrid來簡單的顯示數據表中的所有數據

<%@ Register TagPrefix=Super Namespace=SuperexpertData
Assembly=SuperexpertSuperDataGrid %>

<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
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.