AspNET控件詳解_第1頁(yè)
AspNET控件詳解_第2頁(yè)
AspNET控件詳解_第3頁(yè)
AspNET控件詳解_第4頁(yè)
AspNET控件詳解_第5頁(yè)
已閱讀5頁(yè),還剩80頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、ASP.NET第八講第八講ASP. Net ServerControls(ASP.NET高級(jí)服務(wù)器端控件)高級(jí)服務(wù)器端控件)周開(kāi)來(lái)周開(kāi)來(lái)CheckBox和和RadioButton選擇組件選擇組件checkbox語(yǔ)句:語(yǔ)句:選擇組件選擇組件checkbox 屬性說(shuō)明:屬性說(shuō)明: Checked:若為若為True,表示表示CheckBox是被選是被選擇的,若為擇的,若為False,則不被選擇。,則不被選擇。 TextAlign:取值為取值為right,字靠右排列,為,字靠右排列,為left,靠左排列。,靠左排列。 Text:CheckBox的文字內(nèi)容。的文字內(nèi)容。 選擇組件選擇組件checkbox

2、 事件說(shuō)明:事件說(shuō)明: OnCheckedChanged:若若AutoPostBack=True,則當(dāng)則當(dāng)CheckBox的選的選擇框被打勾或取消打勾都會(huì)觸發(fā)擇框被打勾或取消打勾都會(huì)觸發(fā)CheckedChanged事件。事件。 CheckBox運(yùn)行示例運(yùn)行示例ASP.NET組件組件CheckBox興趣:興趣: void CheckBox_Changed( object sender, EventArgs e) string strResult;strResult=您的興趣有您的興趣有:;if (chkCH61.Checked=true) strResult=strResult + chkCH6

3、1.Text.ToString()+ ;if (chkCH62.Checked=true) strResult=strResult+ chkCH62.Text.ToString()+ ;if ( chkCH63.Checked=true ) strResult=strResult+ chkCH63.Text.ToString()+ ; lblTitle2.Text=strResult ;選擇組件選擇組件CheckBoxList 此組件性質(zhì)與此組件性質(zhì)與CheckBox相同,但它的功能相同,但它的功能比比CheckBox來(lái)的強(qiáng),使用上也較方便。因來(lái)的強(qiáng),使用上也較方便。因?yàn)樗鼘⑦x項(xiàng)群組化,也就是

4、將所有選項(xiàng)集為它將選項(xiàng)群組化,也就是將所有選項(xiàng)集合起來(lái)成為一個(gè)對(duì)象,如此不管是選項(xiàng)要合起來(lái)成為一個(gè)對(duì)象,如此不管是選項(xiàng)要與數(shù)據(jù)庫(kù)結(jié)合或是管理所有的選項(xiàng)都變得與數(shù)據(jù)庫(kù)結(jié)合或是管理所有的選項(xiàng)都變得比較輕松與容易。比較輕松與容易。 選擇組件選擇組件CheckBoxList 語(yǔ)句說(shuō)明:語(yǔ)句說(shuō)明: Asp:CheckBoxList id=”CheckBoxList1” runat=”SERVER” AutoPostBack=True|False CellPadding=”Pixels” DataSource= DataTextField=”DataSourceField” DataValueField=

5、”DataSourceField” RepeatColumns= 1 RepeatDirection=Vertical上到下上到下|Horizontal左到右左到右 RepeatLayout=Flow|Table TextAlign=Right|Left OnSelectedIndexChanged=”MethodName” 屬性說(shuō)明:屬性說(shuō)明: RepeatColumns:設(shè)置一列要顯示幾個(gè)設(shè)置一列要顯示幾個(gè)CheckBox,默認(rèn)值為默認(rèn)值為1。 RepeatDirection:設(shè)置設(shè)置CheckBox的排列方的排列方向,若為向,若為Vertical,由上到下排列。若為,由上到下排列。若為H

6、orizontal,則由左到右排列。,則由左到右排列。 但若但若RepeatColumns=1,則此屬性的設(shè)置并則此屬性的設(shè)置并不會(huì)影響排列。默認(rèn)值為不會(huì)影響排列。默認(rèn)值為Vertical RepeatLayout:若設(shè)為若設(shè)為Flow,則則CheckBox的的排列會(huì)較為緊密而顯得比較不規(guī)則,若設(shè)為排列會(huì)較為緊密而顯得比較不規(guī)則,若設(shè)為TABLE,則,則CheckBox會(huì)以表格方式排列,會(huì)以表格方式排列,較有規(guī)則性并且整齊。默認(rèn)值為較有規(guī)則性并且整齊。默認(rèn)值為Table. 事件說(shuō)明:事件說(shuō)明: OnSelectedIndexChanged: 若若AutoPostBack=True,則當(dāng)則當(dāng)Ch

7、eckBoxList被選擇的選項(xiàng)有所改變便會(huì)被選擇的選項(xiàng)有所改變便會(huì)觸發(fā)觸發(fā)SelectedIndexChanged事件。事件。例:例:ASP.NET組件組件CheckBoxList興趣:興趣:運(yùn)動(dòng)運(yùn)動(dòng) 看電影看電影 聽(tīng)音樂(lè)聽(tīng)音樂(lè) void chklistCH61_Changed(object sender,EventArgs e) string strResult;/ int intIndex;strResult=您的興趣有您的興趣有:;for (int intIndex=0;intIndex=System.Convert.ToInt32(chklistCH61.Items.Count)-1

8、;intIndex+) if (chklistCH61.ItemsintIndex.Selected) strResult=strResult+chklistCH61.ItemsintIndex.Text.ToString()+ ; lblTitle2.Text=strResult;選擇組件選擇組件RadioButton RadioButton是一個(gè)是一個(gè)單選單選的選擇組件,可的選擇組件,可以將類似性質(zhì)但不可重復(fù)選擇的選項(xiàng)集合以將類似性質(zhì)但不可重復(fù)選擇的選項(xiàng)集合成一個(gè)群組,設(shè)置方法非常簡(jiǎn)單,只要將成一個(gè)群組,設(shè)置方法非常簡(jiǎn)單,只要將GroupName設(shè)成相同名稱即可。設(shè)成相同名稱即可。 選擇組

9、件選擇組件RadioButton 語(yǔ)句說(shuō)明:語(yǔ)句說(shuō)明: 屬性說(shuō)明:屬性說(shuō)明:Checked:若為若為True,表示此表示此RadioButton是被選擇的,是被選擇的,若為若為False,沒(méi)被選擇。沒(méi)被選擇。GroupName:相同性質(zhì)的選項(xiàng)但只能單選的群組名稱。相同性質(zhì)的選項(xiàng)但只能單選的群組名稱。Text:RadioButton的文字內(nèi)容。的文字內(nèi)容。 事件說(shuō)明:事件說(shuō)明:OnCheckedChanged:若若AutoPostBack=true,則當(dāng)則當(dāng)CheckBox的選擇框被打勾或取消打勾便會(huì)觸發(fā)的選擇框被打勾或取消打勾便會(huì)觸發(fā)CheckedChanged事件。事件。 RadioButt

10、on示例示例RadioButton血型:血型:void RadioButton_Changed(object sender,EventArgs e ) string StrResult;/定義變量定義變量StrResult=您的血型是:您的血型是:;if (rdoCH61.Checked ) StrResult=StrResult+rdoCH61.Text.ToString()+型型;else if( rdoCH62.Checked ) StrResult=StrResult+ rdoCH62. Text.ToString() +型型;else if ( rdoCH63.Checked) St

11、rResult=StrResult+rdoCH63.Text.ToString() +型型;else if (rdoCH64.Checked) StrResult=StrResult+ rdoCH64.Text.ToString() +型型; lblTitle2.Text=StrResult;選擇組件選擇組件RadioButtonList 此組件性質(zhì)基本上與此組件性質(zhì)基本上與RadioButton相同,但相同,但它的功能要比它的功能要比RadioButton來(lái)的強(qiáng),使用上來(lái)的強(qiáng),使用上也較方便。因?yàn)樗鼘⑦x項(xiàng)群組化,也就是將也較方便。因?yàn)樗鼘⑦x項(xiàng)群組化,也就是將所有選項(xiàng)集合起來(lái)成為一個(gè)對(duì)象,如此

12、不管所有選項(xiàng)集合起來(lái)成為一個(gè)對(duì)象,如此不管是選項(xiàng)要與數(shù)據(jù)庫(kù)結(jié)合或是管理所有的選項(xiàng)是選項(xiàng)要與數(shù)據(jù)庫(kù)結(jié)合或是管理所有的選項(xiàng)都變得比較輕松與容易。都變得比較輕松與容易。語(yǔ)句說(shuō)明:語(yǔ)句說(shuō)明:Asp:RadioButtonList id=” RadioButtonList1” runat=”server”AutoPostBack=True|FalseCellPadding=”Pixels”DataSource=DataTextField=”DataSourceField”DataValueField=”DataSourceField”RepeatColumns=”ColumnCount”RepeatDi

13、rection=Vertical|HorizontalRepeatLayout=Flow|TableTextAlign=Right|LeftOnSelectedIndexChanged=”MethodName”選擇組件選擇組件RadioButtonList 屬性說(shuō)明:屬性說(shuō)明: RepeatColumns:設(shè)置一列要顯示幾個(gè)設(shè)置一列要顯示幾個(gè)RadioButton,默認(rèn)值為默認(rèn)值為1。 RepeatDirection:設(shè)置設(shè)置RadioButton的排列方向,的排列方向,若為若為Vertical,由上到下排列。若為,由上到下排列。若為Horizontal,則由左到右排列。則由左到右排列。 但若

14、但若RepeatColumns=1,則此屬性的設(shè)置并不會(huì)則此屬性的設(shè)置并不會(huì)影響排列。默認(rèn)值為影響排列。默認(rèn)值為Vertical RepeatLayout:若設(shè)為若設(shè)為Flow,則則RadioButton的排的排列會(huì)較為緊密而顯得比較不規(guī)則,若設(shè)為列會(huì)較為緊密而顯得比較不規(guī)則,若設(shè)為Table,則則RadioButton會(huì)以表格方式排列,較有規(guī)則性會(huì)以表格方式排列,較有規(guī)則性并且整齊。默認(rèn)值為并且整齊。默認(rèn)值為Table.選擇組件選擇組件RadioButtonList 事件說(shuō)明:事件說(shuō)明: OnSelectedIndexChanged: 若若AutoPostBack=True,則當(dāng)則當(dāng)Radi

15、oButtonList被選擇的選項(xiàng)有所改變便被選擇的選項(xiàng)有所改變便會(huì)觸發(fā)會(huì)觸發(fā)SelectedIndexChanged事件。事件。圖形顯示組件圖形顯示組件Image 純粹只是顯示圖片。純粹只是顯示圖片。 語(yǔ)句說(shuō)明:語(yǔ)句說(shuō)明: asp:Image id=”Image1” runat=”server” AlternateText=”String” ImageUrl=”string” ImageAlign=. 圖形顯示組件圖形顯示組件Image 屬性說(shuō)明:屬性說(shuō)明: AlternateText:鼠標(biāo)光標(biāo)停留在圖片上顯示鼠標(biāo)光標(biāo)停留在圖片上顯示的說(shuō)明性文本。的說(shuō)明性文本。 ImageUrl:設(shè)置欲顯示

16、的圖片的設(shè)置欲顯示的圖片的URL路徑。路徑。 ImageAlign:設(shè)置設(shè)置Image圖片與外圍文字的圖片與外圍文字的排列方式。排列方式。圖形顯示組件圖形顯示組件Image 例:例: 群組組件群組組件-Panel 語(yǔ)句說(shuō)明:語(yǔ)句說(shuō)明: 其他控制組件放置于此其他控制組件放置于此 屬性說(shuō)明:屬性說(shuō)明: BackImageUrl:背景圖片的背景圖片的URL地址路徑。地址路徑。 HorizontalAlign:Panel內(nèi)控件的水平排列內(nèi)控件的水平排列方式。方式。 Wrap:為為True,則文字內(nèi)容多于則文字內(nèi)容多于Panel內(nèi)長(zhǎng),內(nèi)長(zhǎng),會(huì)自動(dòng)折行。會(huì)自動(dòng)折行。例:報(bào)錯(cuò)解決辦法:引號(hào)改成英文引號(hào)例:報(bào)

17、錯(cuò)解決辦法:引號(hào)改成英文引號(hào) 用戶名稱用戶名稱 密碼密碼 表格組件表格組件Table、TableRow 、TableCell 添加的是vs工具箱標(biāo)準(zhǔn)Table,不是html中的Table語(yǔ)句說(shuō)明:語(yǔ)句說(shuō)明:cell text(其他的其他的TableCell)(其他的其他的TableRow及及TableCell)屬性說(shuō)明:屬性說(shuō)明:表格屬性:表格屬性:BackImageUrl 控件的背景中顯示的圖像的 URL CellSpacing=-1“ 表格單元格間距(以像素為單位)。默認(rèn)值為 -1 ,表示未設(shè)置此屬性。CellPadding=-1“ 單元邊沿與單元內(nèi)容之間的空間GridLines=“Bot

18、h“ 為表格邊框線。可能的值:None無(wú)、Horizontal橫線、Vertical垂線、Both同時(shí)HorizontalAlign=Center” 內(nèi)容的水平對(duì)齊方式 Height=234px Width=408px“行屬性:行屬性:asp:TableRow id=TableRow1 runat=ServerHorizontalAlign=Center“ 行內(nèi)容的水平對(duì)齊方式VerticalAlign=Middle“ 內(nèi)容的垂直對(duì)齊方式列屬性:列屬性: Aspx前臺(tái)代碼:前臺(tái)代碼:下面我們?cè)黾酉旅嫖覀冊(cè)黾印癉ropDownList下拉框控件的用法下拉框控件的用法”的難度,的難度,下拉框中的內(nèi)

19、容很多情況下不是事先固定的,而是要?jiǎng)討B(tài)添加。下拉框中的內(nèi)容很多情況下不是事先固定的,而是要?jiǎng)討B(tài)添加。這里設(shè)計(jì)是用一數(shù)據(jù)表這里設(shè)計(jì)是用一數(shù)據(jù)表DataTable與之聯(lián)系起來(lái)。與之聯(lián)系起來(lái)。 另建一文件另建一文件Default11.aspx ,添加一下拉框,取名,添加一下拉框,取名dlstWeb,先設(shè),先設(shè)AutoPostPack為為false,否則在剛啟動(dòng)而面就,否則在剛啟動(dòng)而面就觸發(fā)觸發(fā)SelectedIndexChanged事件,彈出窗口就亂飛了。事件,彈出窗口就亂飛了。DataTable屬于屬于System.Data命名空間,所以如果頁(yè)面沒(méi)命名空間,所以如果頁(yè)面沒(méi)預(yù)添加,可以自行增加這一行

20、。預(yù)添加,可以自行增加這一行。 DropDownList下拉下拉框最重要兩個(gè)綁定表列字段的屬性:框最重要兩個(gè)綁定表列字段的屬性:(1)DataTextField數(shù)據(jù)文本字段,指將數(shù)據(jù)源中的哪個(gè)字段綁定到控件作為下拉框顯示的文字(2)DataValueField數(shù)據(jù)值字段 ,上面文字的值,超鏈接或ID等。private void Page_Load(object sender, System.EventArgs e) / 用用IsPostBack判斷,只在沒(méi)有回傳時(shí)才初始化判斷,只在沒(méi)有回傳時(shí)才初始化 / 這樣可以防止每次刷新或回傳時(shí),都執(zhí)行一次以下代碼這樣可以防止每次刷新或回傳時(shí),都執(zhí)行一次以

21、下代碼 / 可以節(jié)省服務(wù)器的資源了。可以節(jié)省服務(wù)器的資源了。 if (!IsPostBack) DataTable dt = new DataTable(); DataRow dr; / 在表中增加字段在表中增加字段 dt.Columns.Add(WebName,typeof(string); dt.Columns.Add(WebUrl, typeof(string); / 表中增加行表中增加行 dr = dt.NewRow(); drWebName = 新浪新浪; drWebUrl = http:/; dt.Rows.Add(dr); dr = dt.NewRow(); drWebName

22、= 網(wǎng)易網(wǎng)易; drWebUrl = http:/; dt.Rows.Add(dr); dr = dt.NewRow(); drWebName = 搜狐搜狐; drWebUrl = http:/; dt.Rows.Add(dr); / 把表與下拉菜單綁定數(shù)據(jù)把表與下拉菜單綁定數(shù)據(jù) dlstWeb.DataSource = dt; dlstWeb.DataTextField = “WebName”;/下拉框文字下拉框文字 dlstWeb. DataValueField = “WebUrl”;/這些文字的值,此處為網(wǎng)址這些文字的值,此處為網(wǎng)址 dlstWeb.DataBind(); / 開(kāi)始時(shí)就把

23、下拉菜單的開(kāi)始時(shí)就把下拉菜單的AutoPostBack設(shè)為設(shè)為false, / 防止一開(kāi)始就亂跳出網(wǎng)頁(yè)來(lái)防止一開(kāi)始就亂跳出網(wǎng)頁(yè)來(lái) dlstWeb.AutoPostBack = true; 下面的事件與前面一模一樣了下面的事件與前面一模一樣了 private void dlstWeb_SelectedIndexChanged( object sender, System.EventArgs e) Response.Write(“window.open (” +dlstWeb. SelectedValue + “);”); /打開(kāi)選擇的動(dòng)態(tài)新窗口打開(kāi)選擇的動(dòng)態(tài)新窗口說(shuō)明:說(shuō)明:/如果以上兩頁(yè)代碼報(bào)

24、錯(cuò),那是沒(méi)有用英文輸入法,以及字母大小不對(duì)造成的。如果以上兩頁(yè)代碼報(bào)錯(cuò),那是沒(méi)有用英文輸入法,以及字母大小不對(duì)造成的。說(shuō)明:說(shuō)明:1. dropdownlist控件的幾個(gè)屬性控件的幾個(gè)屬性selectedIndex、selectedItem、selectedValue、selectedItem.Text、selectedItem.value的區(qū)別的區(qū)別 1. selectedIndex指的是dropdownlist中選項(xiàng)的索引,為int,從0開(kāi)始,可讀可寫2. selectedItem指的是選中的dropdownlist中選項(xiàng),為L(zhǎng)istItem,只讀不寫3. selectedValue指的是

25、選中的dropdownlist中選項(xiàng)的值,為string, 只讀不寫4. selectedItem.Text指的是選中的dropdownlist中選項(xiàng)的文本內(nèi)容,與selectedItems的值一樣為string,可讀可寫5. selectedItem.value指的是選中的dropdownlist中選項(xiàng)的值,與selectedValue的值一樣,為string,可讀可寫1 view plaincopy to clipboardprint?2 3 4 5 6 7 8 無(wú)標(biāo)題頁(yè) 9 10 11 12 13 14 北京 15 上海 16 廣州 17 18 19 20 21 22 23 24 25

26、26 27 28 29 30 31 代碼 1 using System; 2 using System.Data; 3 using System.Configuration; 4 using System.Collections; 5 using System.Web; 6 using System.Web.Security; 7 using System.Web.UI; 8 using System.Web.UI.WebControls; 9 using System.Web.UI.WebControls.WebParts; 10 using System.Web.UI.HtmlContro

27、ls; 11 12 public partial class dropdown : System.Web.UI.Page 13 14 protected void Page_Load(object sender, EventArgs e) 15 16 17 18 protected void Button1_Click(object sender, EventArgs e) 19 20 Label1.Text = selectedIndex= + DropDownList1.SelectedIndex; 21 Label2.Text = selectedItem= + DropDownList

28、1.SelectedItem; 22 Label3.Text = selectedValue= + DropDownList1.SelectedValue; 23 Label4.Text = selectedItem.text= + DropDownList1.SelectedItem.Text; 24 Label5.Text = selectedItem.value= + DropDownList1.SelectedItem.Value; 25 26 運(yùn)行效果如下:2.關(guān)于關(guān)于DropDownList綁定數(shù)據(jù)的一點(diǎn)認(rèn)識(shí)綁定數(shù)據(jù)的一點(diǎn)認(rèn)識(shí) 平時(shí)我們用平時(shí)我們用DropDownList控件控件(

29、如如:下拉菜單時(shí)下拉菜單時(shí))顯示欄目名稱等時(shí)顯示欄目名稱等時(shí),一般可以用兩種方法使其顯示我們要的內(nèi)容一般可以用兩種方法使其顯示我們要的內(nèi)容:方法一方法一: /ddlFirstType、ddlSecondType即為即為DropDownList控件名字控件名字,下同下同 ddlFirstType.DataSource = ds.Tables0.DefaultView; /這里綁定的是在下拉菜單中顯示出來(lái)的文字這里綁定的是在下拉菜單中顯示出來(lái)的文字,比如比如我的文章我的文章 ddlFirstType.DataTextField = CnName; /這里綁定的內(nèi)容在下拉菜單中是看不到的這里綁定的內(nèi)

30、容在下拉菜單中是看不到的,這里指的是這里指的是我的文章我的文章這個(gè)欄目在數(shù)據(jù)庫(kù)中對(duì)應(yīng)的這個(gè)欄目在數(shù)據(jù)庫(kù)中對(duì)應(yīng)的ID ddlFirstType.DataValueField = ID; ddlFirstType.DataBind();此時(shí)此時(shí),ddlFirstType.SelectedValue得到的是得到的是ID這個(gè)字段的內(nèi)容這個(gè)字段的內(nèi)容,比如你選中的是比如你選中的是我的文章我的文章這個(gè)欄目這個(gè)欄目,那么此時(shí)那么此時(shí) SelectedValue得到的是得到的是我的文章我的文章在數(shù)據(jù)庫(kù)中對(duì)應(yīng)的在數(shù)據(jù)庫(kù)中對(duì)應(yīng)的ID.要得到下拉菜單中選中的值要得到下拉菜單中選中的值,如如我的文章我的文章,需要用需

31、要用:ddlFirstType.SelectedItem.Text.方法二方法二:for(int i=0;ids.Tables0.Rows.Count;i+)ddlSecondType.Items.Add(ds.Tables0.RowsiCnName.ToString(); 此時(shí)此時(shí), ddlFirstType.SelectedValue得到的是得到的是CnName這個(gè)字段的內(nèi)容這個(gè)字段的內(nèi)容,比如你選中的是比如你選中的是我的文章我的文章這個(gè)欄目這個(gè)欄目,那么此那么此時(shí)時(shí)SelectedValue得到就是得到就是我的文章我的文章這幾個(gè)字這幾個(gè)字,而而ID的內(nèi)容就得不到的內(nèi)容就得不到.8.1 A

32、dRotator控件控件 Asp中存在一個(gè)中存在一個(gè)AdRotator adruteit廣告廣告輪顯組件,它可以在頁(yè)面中生成動(dòng)態(tài)的廣告輪顯組件,它可以在頁(yè)面中生成動(dòng)態(tài)的廣告條,并可以自由地設(shè)置各廣告的顯示比例。條,并可以自由地設(shè)置各廣告的顯示比例。 在在ASP.NET中也同樣存在中也同樣存在AdRotator,不過(guò)在不過(guò)在ASP.NET中是以控件的形式存在,而不是組中是以控件的形式存在,而不是組件,讀取數(shù)據(jù)的文件也不再是簡(jiǎn)單的文本文件,讀取數(shù)據(jù)的文件也不再是簡(jiǎn)單的文本文件,而是網(wǎng)絡(luò)上流行的件,而是網(wǎng)絡(luò)上流行的XML文檔。文檔。使用使用AdRotator的一般步驟:的一般步驟:1)定義)定義Ad

33、Rotator控件:控件:(2)通過(guò)通過(guò)AdvertisementFile廣告文件屬性指定引用的數(shù)據(jù)文件廣告文件屬性指定引用的數(shù)據(jù)文件(3)將需要播放的廣告信息寸于將需要播放的廣告信息寸于XML文件之中,這個(gè)文件之中,這個(gè)Data.XML文件文件的格式為:的格式為: 需要顯示的廣告圖形的需要顯示的廣告圖形的URL 點(diǎn)擊廣告后訪問(wèn)的點(diǎn)擊廣告后訪問(wèn)的URL 說(shuō)明文字說(shuō)明文字 關(guān)鍵字關(guān)鍵字 顯示數(shù)顯示數(shù) 每個(gè)廣告數(shù)據(jù)擁有五個(gè)標(biāo)準(zhǔn)的屬性每個(gè)廣告數(shù)據(jù)擁有五個(gè)標(biāo)準(zhǔn)的屬性ImageUrl、NavigateUrl、AlternateText、Keyword、Impressions。 其中,只有其中,只有Ima

34、geUrl是必須的,其他四個(gè)是是必須的,其他四個(gè)是可選的??蛇x的。Impressions中設(shè)置的數(shù)據(jù)表示該中設(shè)置的數(shù)據(jù)表示該廣告數(shù)據(jù)在總體中的廣告數(shù)據(jù)在總體中的“份量份量”,數(shù)字越大,數(shù)字越大,該廣告顯示的百分比越大。該廣告顯示的百分比越大。運(yùn)行結(jié)果運(yùn)行結(jié)果public void AdCreated(Object src,AdCreatedEventArgs e)lblImageUrl.Text = (string) e.ImageUrl;lblNavigateUrl.Text = (string) e.NavigateUrl;lblAlternateText.Text = (string)

35、e.AlternateText;AdRotator控件控件AdRotator演示演示/引用的數(shù)據(jù)文件引用的數(shù)據(jù)文件ad.xml當(dāng)前引用文件為:當(dāng)前引用文件為:鏈接到:鏈接到:說(shuō)明文字:說(shuō)明文字:以下代碼粘貼到以下代碼粘貼到Default12.aspx文件中文件中 /images/de.gif /紅色要注意是相對(duì)路徑,紅色要注意是相對(duì)路徑, /還是絕對(duì)路徑否則可能看不到圖片還是絕對(duì)路徑否則可能看不到圖片 /也可以用網(wǎng)絡(luò)圖片,也可以用網(wǎng)絡(luò)圖片,urlg一定要對(duì)一定要對(duì)http:/163網(wǎng)易網(wǎng)易bbs50 /images/en.gif http:/中國(guó)校友錄中國(guó)校友錄aspcn50 /images/

36、header_bg.jpg http:/云南信息港云南信息港aspcn50在解決方案資源管理器中添加在解決方案資源管理器中添加ad.xml文件,將代碼粘貼進(jìn)去文件,將代碼粘貼進(jìn)去8.2 Calendar控件控件 在其他的動(dòng)態(tài)在其他的動(dòng)態(tài)web技術(shù)中設(shè)計(jì)一個(gè)日歷是技術(shù)中設(shè)計(jì)一個(gè)日歷是很麻煩的,需要考慮很多方面的問(wèn)題。而很麻煩的,需要考慮很多方面的問(wèn)題。而在在AsPNet,設(shè)計(jì)一個(gè)日歷是十分簡(jiǎn)單的,設(shè)計(jì)一個(gè)日歷是十分簡(jiǎn)單的事情,只需要一行代碼便可以完成。如:事情,只需要一行代碼便可以完成。如: 這是一個(gè)又最簡(jiǎn)單的日歷控件應(yīng)用這是一個(gè)又最簡(jiǎn)單的日歷控件應(yīng)用 Calendar擁有豐富屬性用以創(chuàng)建各種風(fēng)

37、格的日歷。擁有豐富屬性用以創(chuàng)建各種風(fēng)格的日歷。首先希望把顯示首先希望把顯示“2001年年6月月”的的這一欄這一欄(稱為稱為Title欄欄)改為只顯示月份,不顯示年,改為只顯示月份,不顯示年,而且希望背景顏色為黑色,前景色為白色。代碼如而且希望背景顏色為黑色,前景色為白色。代碼如下:下:顯示如圖所示顯示如圖所示設(shè)置Title欄將將“”換成文字表示換成文字表示 顯示如圖所示:顯示如圖所示:NextPrevFormat控制控制“翻月翻月”按鈕格式,它有三個(gè)值按鈕格式,它有三個(gè)值ShortMonth、FullMonth、CustomText,默認(rèn)為,默認(rèn)為CustomText。這樣還不夠好,用戶。這樣

38、還不夠好,用戶可能還需要更多的個(gè)性化,代碼如下:可能還需要更多的個(gè)性化,代碼如下:使用FullMonth格式 NextPrevFormat控制控制“翻月翻月”按鈕格式,它有三個(gè)值按鈕格式,它有三個(gè)值ShortMonth、FullMonth、CustomText,默認(rèn)為,默認(rèn)為CustomText。這樣還不夠好,用戶可能還需要更多的個(gè)。這樣還不夠好,用戶可能還需要更多的個(gè)性化,代碼如下:性化,代碼如下:自定義翻月按鈕 需要注意的是,在自定義需要注意的是,在自定義“翻月翻月”按鈕文字時(shí),按鈕文字時(shí),NextPrevFormat的值必須為的值必須為CustomText 在在Calendar控件中還能

39、夠控制日期的選擇模式,控件中還能夠控制日期的選擇模式,在默認(rèn)條件下,一次只能選擇一個(gè)日在默認(rèn)條件下,一次只能選擇一個(gè)日(Day),但是,但是,通過(guò)相應(yīng)的設(shè)置后,可以一次性選取一周的日期,通過(guò)相應(yīng)的設(shè)置后,可以一次性選取一周的日期,甚至是一個(gè)月的日期。甚至是一個(gè)月的日期。 這就需要設(shè)置這就需要設(shè)置SelectionMode屬性屬性 Day:任意:任意一個(gè)單獨(dú)的日子;一個(gè)單獨(dú)的日子;DayWeek:可以選擇任意的一:可以選擇任意的一天或一個(gè)星期;天或一個(gè)星期; DayWeekMonth :可以選擇一:可以選擇一天或一周或一個(gè)月;天或一周或一個(gè)月; None:不能選取日期:不能選取日期 一次選擇一個(gè)

40、星期一次選擇一個(gè)星期 SelectionMode有四個(gè)值:有四個(gè)值:Day,DayWeek,DayWeekMonth,None,默認(rèn)為默認(rèn)為Day.同樣也可以將選擇周,月的按鈕換成指定的同樣也可以將選擇周,月的按鈕換成指定的文字或圖片,代碼如下:文字或圖片,代碼如下: 控制選擇按鈕控制選擇按鈕Calendar控件也有屬于自身的事件控件也有屬于自身的事件。 (1)當(dāng)選擇的日期發(fā)生變化時(shí),將觸發(fā)當(dāng)選擇的日期發(fā)生變化時(shí),將觸發(fā)Onselectionchanged事件事件. 當(dāng)選擇一周后的執(zhí)行結(jié)果當(dāng)選擇一周后的執(zhí)行結(jié)果此兩頁(yè)代碼寫在一個(gè)此兩頁(yè)代碼寫在一個(gè)Default13.aspx文件中:文件中:vo

41、id SelectionChanged(Object sender,EventArgs e)switch (Calendar1.SelectedDates.Count)/屬性屬性SelectedDates.Count 選擇了選擇了日期的數(shù)量選擇了選擇了日期的數(shù)量;屬性屬性SelectedDates 選擇多個(gè)日期后的選擇多個(gè)日期后的DateTime對(duì)象的集合。只保存日期,時(shí)間為空對(duì)象的集合。只保存日期,時(shí)間為空 case (0): /None Label1.Text = 沒(méi)有選擇日期沒(méi)有選擇日期; break; case (1): /Day Label1.Text = “選擇的日期為:選擇的日期

42、為: ” + Calendar1.SelectedDate.ToShortDateString();/返返回選定日期的開(kāi)始時(shí)間?;剡x定日期的開(kāi)始時(shí)間。 SelectedDate 一個(gè)選定的日期。只保留日期,時(shí)間為空一個(gè)選定的日期。只保留日期,時(shí)間為空;SelectedDates 選擇多個(gè)日期后的選擇多個(gè)日期后的DateTime對(duì)象的集合。只保存日期,時(shí)間為空對(duì)象的集合。只保存日期,時(shí)間為空。ToShortDateString就是把你所操作的時(shí)間改變成短時(shí)間類型http:/ 方法、tostring()區(qū)分 break; case (7): /Week Label1.Text = 選擇周的開(kāi)始日期

43、為:選擇周的開(kāi)始日期為: + Calendar1.SelectedDate.ToShortDateString(); break;/如果刪除如果刪除ToShortDateString()仍然顯示開(kāi)始日期,不過(guò)顯示幾點(diǎn)幾分仍然顯示開(kāi)始日期,不過(guò)顯示幾點(diǎn)幾分 default: /Month Label1.Text = 選擇月的開(kāi)始日期為:選擇月的開(kāi)始日期為: + Calendar1.SelectedDate.ToShortDateString(); break; /switch-case語(yǔ)句用法http:/ 當(dāng)當(dāng)Calendar控件每產(chǎn)生一個(gè)日期時(shí)就會(huì)觸發(fā)控件每產(chǎn)生一個(gè)日期時(shí)就會(huì)觸發(fā)OnDayRe

44、nder事件,通過(guò)處理事件,通過(guò)處理OnDayRender事件,事件,可以對(duì)每個(gè)日期進(jìn)行判斷,做出特殊的顯示效果。可以對(duì)每個(gè)日期進(jìn)行判斷,做出特殊的顯示效果。下面的程序生成日歷時(shí),將首先判斷生成的日期是否下面的程序生成日歷時(shí),將首先判斷生成的日期是否“今天今天”(Today),如果判斷是,則將如果判斷是,則將“今天今天”所在所在TableCell的背景色設(shè)置為黃色,接著判斷生成的日期的背景色設(shè)置為黃色,接著判斷生成的日期是否為周末,如果是表明此日期為周末,并以紅色背是否為周末,如果是表明此日期為周末,并以紅色背景顯示。景顯示。將下面代碼全粘貼到將下面代碼全粘貼到Default14.aspx文件

45、文件:void SelectionChanged(Object sender,EventArgs e)switch (Calendar1.SelectedDates.Count) case (0): /None Label1.Text = 沒(méi)有選擇日期; break; case (1): /Day Label1.Text = 選擇的日期為: + Calendar1.SelectedDate.ToShortDateString(); break; case (7): /Week Label1.Text = 選擇周的開(kāi)始日期為: + Calendar1.SelectedDate.ToShortDa

46、teString(); break; default: /Month Label1.Text = 選擇月的開(kāi)始日期為: + Calendar1.SelectedDate.ToShortDateString(); break; void DayRender(Object sender,DayRenderEventArgs e)CalendarDay d = e.Day;/ CalendarDay 類表示 Calendar 控件中的日期。TableCell c = e.Cell;/ TableCell類表示Table控件中的單元格。if(d.IsToday)/ 屬性IsToday獲取一個(gè)值,該值指

47、示由此類的實(shí)例表示的日期是否與 Calendar 控件的 TodaysDate 屬性所指定的日期相同。c.BackColor = Color.Yellow;if(d.IsWeekend)/屬性IsWeekend獲取一個(gè)值,該值指示由此類的實(shí)例表示的日期是否是星期六或星期日。 c.Controls.Add(new LiteralControl(“周末”);/LiteralControl 類表示 不需要在服務(wù)器上處理的任何其他字符串。http:/ Controls.Add在 Controls 集合中添加一個(gè)控件并返回一個(gè)對(duì)該控件的引用。只不過(guò)此處是添加字符串。c.BackColor = Color

48、.Red;8.3 HtmlInputFile控件控件FileUpload控件控件 編寫過(guò)編寫過(guò)ASP的程序員都知道,在的程序員都知道,在ASP中上中上傳文件是比較困難的,但是傳文件是比較困難的,但是ASP.NET因?yàn)橐驗(yàn)閾碛辛藫碛辛薍tmlInputFile控件,上傳文件已經(jīng)控件,上傳文件已經(jīng)變得十分輕松了。變得十分輕松了。HtmlInputFile控件提供控件提供了內(nèi)置的上傳文件的處理方法。了內(nèi)置的上傳文件的處理方法。上傳單個(gè)文件上傳單個(gè)文件上傳單個(gè)文件示例上傳單個(gè)文件示例請(qǐng)選擇文件上傳:請(qǐng)選擇文件上傳:上傳文件名:上傳文件名:上傳文件大?。荷蟼魑募笮。赫鎸?shí)文件名真實(shí)文件名:這里需要注意的

49、是,HtmlForm控件的Enctype屬性必須設(shè)定為multipart/form-data,這樣才能保證文件數(shù)據(jù)的完全上傳,否則接受程序僅僅只能獲得上傳文件的路徑信息。public void Page_Load(Object src,EventArgs e)/設(shè)置設(shè)置HtmlInputFile控件的屬性控件的屬性UploadFile.MaxLength= 30;UploadFile.Size= 20;public void DoUpload(Object src,EventArgs e)HttpPostedFile hpf = UploadFile.PostedFile;FileName.T

50、ext = hpf.FileName;FileSize.Text = hpf.ContentLength.ToString();/取得文件名取得文件名(不含路徑不含路徑)char de = ;string AFilename = hpf.FileName.Split(de);string strFilename = AFilenameAFilename.Length-1;rname.Text = strFilename;hpf.SaveAs(Server.MapPath(.)+strFilename);一次上傳多個(gè)文件一次上傳多個(gè)文件 上傳多個(gè)文件最簡(jiǎn)單的辦法就是使用多個(gè)上傳多個(gè)文件最簡(jiǎn)單的辦

51、法就是使用多個(gè)HtmlInputFile控件,然后對(duì)每個(gè)控件執(zhí)行控件,然后對(duì)每個(gè)控件執(zhí)行一次上面的代碼。但是這樣做需要對(duì)每個(gè)一次上面的代碼。但是這樣做需要對(duì)每個(gè)HtmlInputFile編寫代碼,當(dāng)編寫代碼,當(dāng)HtmlInputFile控件很多時(shí),這是一個(gè)非常麻煩的工作,控件很多時(shí),這是一個(gè)非常麻煩的工作,這就需要使用這就需要使用Reques對(duì)象的對(duì)象的Files對(duì)象。對(duì)象。public void DoUpload(Object src,EventArgs e)/取得上傳文件的個(gè)數(shù)取得上傳文件的個(gè)數(shù)int FileCount = Request.Files.Count;string strFi

52、lename;string AFilename;char de = ;HttpPostedFile hpf;for(int i=0;iFileCount;i+)hpf = Request.Filesi;AFilename = hpf.FileName.Split(de);strFilename = AFilenameAFilename.Length-1;Response.Write(strFilename);hpf.SaveAs(Server.MapPath(.)+strFilename);/在在Panel控件中顯示上傳過(guò)程控件中顯示上傳過(guò)程AddPanelControls(strFilena

53、me);public void AddPanelControls(string filename)Label lblShow = new Label();lblShow.Text = filename+已經(jīng)上傳已經(jīng)上傳;Panel1.Controls.Add(lblShow);在此程序中,在此程序中,Request.Files0和和Request.Files1分別表示分別表示UploadFile1.PostedFile,UploadFile2.PostedFile。通過(guò)。通過(guò)使用使用Request.Files屬性,大屬性,大大簡(jiǎn)化了程序的代碼。大簡(jiǎn)化了程序的代碼。上傳多個(gè)文件上傳多個(gè)文件上傳多

54、個(gè)文件上傳多個(gè)文件選擇上傳文件選擇上傳文件1:選擇上傳文件選擇上傳文件2:選擇上傳文件選擇上傳文件3:選擇上傳文件選擇上傳文件4:選擇上傳文件選擇上傳文件5:8.3 FileUpload控件控件FileUpload控件屬性詳解:控件屬性詳解:1.Enable屬性:是否禁用屬性:是否禁用(幾乎所有控件都有該屬性幾乎所有控件都有該屬性) 2.FileBytes屬性:以字節(jié)數(shù)組形式獲取文件上傳內(nèi)容屬性:以字節(jié)數(shù)組形式獲取文件上傳內(nèi)容(需要將文件保存到數(shù)據(jù)庫(kù)時(shí)要用到它需要將文件保存到數(shù)據(jù)庫(kù)時(shí)要用到它)3.Focus方法:設(shè)為焦點(diǎn)控件方法:設(shè)為焦點(diǎn)控件4.HasFile(有文件)(有文件) 獲取一個(gè)布爾

55、值,用于表示獲取一個(gè)布爾值,用于表示FileUpload控件是否已經(jīng)包含一個(gè)文件控件是否已經(jīng)包含一個(gè)文件,有上傳文件時(shí)返回有上傳文件時(shí)返回true。5.PostedFile 控件的屬性,用于獲得包裝成控件的屬性,用于獲得包裝成HttpPostedFile對(duì)象的上傳文件。使用該對(duì)象可以獲取上傳文件的相關(guān)對(duì)象的上傳文件。使用該對(duì)象可以獲取上傳文件的相關(guān)屬性,有下面屬性,有下面6、7、8、9屬性和常用方法屬性和常用方法SaveAs() 將客戶端上傳的文件存在服務(wù)器的磁盤中 SaveAs(ByVal Filename As String )。HttpPostedFile什么意思?這是一個(gè)類,代表通過(guò)什

56、么意思?這是一個(gè)類,代表通過(guò)HTTP協(xié)議用協(xié)議用POST方法上傳上來(lái)的文件。注意,它方法上傳上來(lái)的文件。注意,它只是引用上傳的文件的一個(gè)臨時(shí)文件,如果要永久保存上傳上來(lái)的那個(gè)文件,請(qǐng)使用它的只是引用上傳的文件的一個(gè)臨時(shí)文件,如果要永久保存上傳上來(lái)的那個(gè)文件,請(qǐng)使用它的SaveAs方法方法。6.FileName 獲取上傳文件在客戶端的文件名稱獲取上傳文件在客戶端的文件名稱7.FileContent文件容量文件容量以流方式獲得上傳文件容量。以流方式獲得上傳文件容量。8.FileBytes文件文件 類型類型 ContentType? 獲取上傳文件的獲取上傳文件的MIME類型,如類型,如text/ht

57、ml,image/jpg等等 9.ContentLength 獲得上傳文件的大小獲得上傳文件的大小,單位是字節(jié)單位是字節(jié)(byte)10. InputStream:把上傳文件當(dāng)成流來(lái)獲?。喊焉蟼魑募?dāng)成流來(lái)獲取8.3 FileUpload控件實(shí)例控件實(shí)例練習(xí):上傳所有格式文件到網(wǎng)站根目錄下的文件夾images2中。1.首先在根目錄下建一個(gè)images2文件:8.3 FileUpload控件實(shí)例控件實(shí)例2.在解決方案資源管理器中添加在解決方案資源管理器中添加Default16.aspx文件。文件。前臺(tái)代碼:(如報(bào)錯(cuò),將前臺(tái)代碼:(如報(bào)錯(cuò),將刪除)刪除) 3.后臺(tái)cs代碼:using System

58、;using System.Collections.Generic;using System.IO;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class Default16 : System.Web.UI.Page protected void Button1_Click(object sender, EventArgs e) string strName = FileUpload1.PostedFile.FileName;/使用使用

59、fileupload控件獲取上控件獲取上傳文件的文件名傳文件的文件名 if (strName != )/如果文件名存在如果文件名存在 bool fileOK = false;/是建立一個(gè)名叫是建立一個(gè)名叫fileok的布爾變量的布爾變量 并附初始值并附初始值 為為false int i = strName.LastIndexOf(“.”);/獲取獲取.的索引順序號(hào),在這里的索引順序號(hào),在這里.代表文件名字與后綴的間隔。代表文件名字與后綴的間隔。此句意思是從文件名此句意思是從文件名strName(它是個(gè)字符串)的最后往前查找點(diǎn)號(hào)出現(xiàn)的位置。(它是個(gè)字符串)的最后往前查找點(diǎn)號(hào)出現(xiàn)的位置。LastIndexOf()方()方法法 參見(jiàn)參見(jiàn)http:/ string kzm = strName.Substring(i);/提取

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論