1
配置方法--直接將配置文件複製到服務器上,不需要手動再配置
web.config
<?xml version="1.0"
encoding="utf-8"
?>
<configuration>
<system.web>
<!--
動態調試編譯
所以應該只在調試時將該值設置爲 true,而所有其他時候都設置爲false
-->
<compilation
defaultLanguage="vb" debug="true" />
<!-- 自定義錯誤信息
設置
customErrors mode="On" 或 "RemoteOnly" 以啓用自定義錯誤信息,或設置爲 "Off"
以禁用自定義錯誤信息。
爲每個要處理的錯誤添加 <error> 標記。
-->
<customErrors
mode="RemoteOnly" />
<!-- 身份驗證
此節設置應用程序的身份驗證策略。可能的模式是
/“Windows/”、
/“Forms/”、/“Passport/”和
/“None/”
-->
<authentication mode="Windows" />
<!-- 授權
此節設置應用程序的授權策略。可以允許或拒絕用戶或角色訪問
應用程序資源。通配符:"*"
表示任何人,"?" 表示匿名
(未授權的)用戶。
-->
<authorization>
<allow
users="*" /> <!-- 允許所有用戶 -->
<!-- <allow
users="[逗號分隔的用戶列表]"
roles="[逗號分隔的角色列表]"/>
<deny
users="[逗號分隔的用戶列表]"
roles="[逗號分隔的角色列表]"/>
-->
</authorization>
<!--
應用程序級別跟蹤記錄
設置 trace enabled="true" 以啓用應用程序跟蹤記錄。如果
pageOutput="true",則
跟蹤信息將顯示在每一頁的底部。否則,可以通過從 Web 應用程序根瀏覽 "trace.axd" 頁來查看
應用程序跟蹤日誌。
-->
<trace enabled="false" requestLimit="10"
pageOutput="false" traceMode="SortByTime" localOnly="true"
/>
<!-- 會話狀態設置
默認情況下,ASP.NET 使用 cookie
標識哪些請求屬於特定的會話。
如果 cookie 不可用,則可以通過將會話標識符添加到 URL 來跟蹤會話。
若要禁用 cookie,請設置
sessionState cookieless="true"。
-->
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data
source=127.0.0.1;user id=sa;password="
cookieless="false"
timeout="20"
/>
<!--
全球化
此節設置應用程序的全球化設置。
-->
<globalization requestEncoding="utf-8"
responseEncoding="utf-8"
/>
</system.web>
</configuration>
2
數據庫--用DataSet來代替RecordSet
過去,RecordSet("字段名").
現在,DataSet.Tables("表名").
3
數據庫控件:DataGrid、Repeater、DataList
4
過去使用HTML中提供的表單控件,現在用ASPX提供的各種WEB控件,只要服務器中有
5
支持事件處理,基本的Page_load(頁面被調用時)、Page_unload(頁面被釋放時),在服務器上觸發
6
ASPX中有兩種主要的Server控件,WEB控件、HTML控件
7
ASP使用的是VBscript語言,ASPX使用的是c#語言(大小寫敏感)
8 組成
ASP.Net Web Form
ASPX
ASP.Net Web Service ASMX
ASP.Net Application
9
使用類似JSP的二次編譯技術
10 註釋使用<%----%>
11 使用<% @ Import
Namespace="???.Data" %>來包含Namespace
12 Request對象是System.Web
這個Namespace中的類HttpRequest
使用Request.QueryString("var")要比Request("var")快
13
GET方法只能傳遞256字節的數據,POST方法只能傳遞2M的數據
POST方法比GET方法要安全
14
獲取當前程序所在虛擬路徑Request.ServerVariables["PATH_INFO"]
獲取當前程序所在絕對路徑Request.ServerVariables["PATH_TRANSLATED"]
注:Server.MapPath方法可以將虛擬的轉爲絕對的
15 Request.Browser 用來獲得客戶端瀏覽器的信息
等同ASP中的BrowserCapabilities組件
Request.Browser.Version
Request.Browser.Cookies……
16
Request.TotalBytes 請求內容的大小
Request.UserHostAddress
用戶的IP
Request.UserHostName 用戶的主機名
Request.UserHostLanguage
用戶的使用語言
17 Response 對象是System.Web 這個Namespace中的類HttpRponse
18
Response.ContentType="text/html"
Response.Clear()
清除緩存中的HTML信息(不包括頭信息)
Response.ClearContent()
清除緩存中的HTML信息(包括頭信息)
Response.ClearHeaders() 只刪除頭信息
Response.Expires =
number 設置顯示的信息在Cache中失效的時間長度,按分鐘計
Response.ExpiresAbsolute = Data Time
同上
Response.Buffer = Boolean
Response.Flush()
立即輸出緩存中的內容
Response.End() 結束程序的執行
Response.Write
("一定要有括號")//注意在ASP.NET 必須要在輸出字符串上加括號
Response.BinaryWrite()
不將內容轉換爲字符串,直接輸出(比如圖片的二進制信息,通過這個方法可以直接顯示圖片)
Response.WriteFile("C://mytest.txt")
直接寫入文件,文件必須存在
17 Server 對象是System.Web
這個Namespace中的類HttpServerUtility
Server.HtmlEncode
將HTML代碼轉換成不會執行的HTML標籤符號
Server.HtmlDecode 同上,逆操作
Server.MapPath
將虛擬路徑轉換爲絕對路徑 例:Server.MapPath(".")+"//讀取當前目錄文件.txt"
Server.Transfer(path)
執行所指的程序,並終止當前程序
Server.Execute(path)
執行所指的程序,執行完畢後,繼續執行當前程序
-------->HTML控件
18
HtmlInputFile控件,可以解決文件上傳的問題
利用HtmlPostedFile類,該類存在於System.Web,該類可以通過HtmlInputFile控件的PostedFile屬性,或Response.Files數組來得到
上傳多個文件,利用Response.Files
19 HtmlForm控件屬性
Action Form提交的接受程序
Enctype 提交內容的編碼類型
Method 提交請求的方式
Name Form的名字
Target
提交目標的窗口的名字
一個程序中只能有一個HtmlForm控件
20
HtmlTable、HtmlTableRow、HtmlTableCell
21 HtmlSelect
22
所有的Web控件都具有保值的特性,部分HTML控件也具有這個特性
普通的html標籤,只要加上id和runat="server"就變爲了html控件
比較通用的HTML控件屬性,InnerHtml,InnerText
style屬性
定義HTML標籤樣式的方法同樣適合於定義HTML控件,也可以用style屬性集合
.Style["color"] = "#000000"
.Style["fontstyle"] = "italic"
Attributes屬性
控件的屬性值和屬性可以通過Attributes任意指定
Control.Attributes["attributename"] =
Value
<--------HTML控件
--------->WEB控件
23
Web控件比HTML控件來的抽象,標籤爲 <asp:控件名 id="控件ID" 屬性名="控件屬性" runat="server"
/>
24 AdRotator控件
<asp:AdRotator id="IDName"
AdvertisementFile="Data.xml" runat="Server" />
25 Calendar控件
<asp:Calendar id="IDName" runat="Server" />
包含的屬性有:TitleSytle、TitleFormat、NextPrevFormat、SelectionMode、SelectedDate、SelectedDates
當NextPrevFormat="CustomText"時可以使用這兩個屬性NextMonthText、PrevMonthText
當SelectionMode的值不同時,可以賦值SelectWeekText、SelectMonthText屬性
事件OnSelectionChanged、OnDayRender
26 Button控件
Button類Web控件都包含屬性:CommandName;CommandArgument
包含事件:OnClick、OnCommand
27 CheckBox控件
包含屬性:Checked、AutoPostBack(是否自動提交,爲FALSE時不觸發事件)、Text
包含事件:OnCheckedChanged、OnClick
28 CheckBoxList控件
可以看做是CheckBox控件的集合,用<asp:ListItem></asp:ListItem>定義一個子項
子項的屬性
.Items[i].Selected
屬性:RepeatColumns一行顯示幾個、RepeatDirection顯示排列方向、RepeatLayout
排版設計格式(Table、Flow)
29 RadioButton與RadioButtonList控件 與 兩個CheckBox控件類似
注意,當多個RadioButton一起使用時,要設置GroupName屬性,以保證一組中只有一個按鈕被選中
30 Image控件 略
ImageButton控件
事件:onmouseover、onmouseout、onclick
31 LinkButton
屬於Button類控件,其連接由事件處理來完成
支持 OnClick OnCommand
32
DropDownList控件
DropDownList.Items.add(ItemText)//添加的Item的Value和Text相同
DropDownList.Items.Add(new ListItem(ItemText,ItemValue))
OnSelectedIndexChanged 改變選擇屬性事件
AutoPostBack 自動提交屬性
33
PlaceHoder 與 Panel 的不同之處是其包含的子控件操作必須用代碼來實現
34
當所有需驗證的控件均通過驗證後,Page中的IsValid屬性將會設置爲true
當使用IsValid屬性前,要先調用Validate()方法,以保證驗證信息發送到Page對象,使驗證生效
35 驗證控件
RequiredFieldValidator 驗證是否填寫
CompareValidator
比較兩個控件的值<ControlToValidate> Operate
<ControlToCompare>關係是否符合驗證條件
比較控件與某個值<ControlToValidate>
Operate <ValueToCompare>關係是否符合驗證條件
驗證是否爲某種類型Operator="DataTypeCheck"、Type="Integer"
RangeValidator
驗證某值是否在規定的範圍內
MinimumValue、MaximumValue、MinimumControl、MaximumControl
RegularExpressionValidator
利用ValidationExpression屬性(正規表達式),驗證是否包含某些字符
CustomValidator
設定客戶端和服務器端的驗證函數,ClientValidationFunction(客戶端)、OnServerValidate(服務器端)
先調用客戶端,再調用服務器端
ValidationSummary 在驗證失敗時顯示所有驗證控件的ErrorMessage屬性
HeaderText屬性、DisplayMode屬性、ShowMessageBox屬性
如果要屏蔽客戶端的驗證,需要在網頁中輸入<% Page Language="C#" ClientTarget="DownLevel"
%>
36
控件樣式
Web控件有一個CssClass屬性,可以設置自定義的CSS樣式
HTML控件Web控件都可以用Style屬性來設置控件樣式
Web控件可以用ApplyStyle方法來設置控件的樣式,參數爲Style對象變量
<---------WEB控件
--------->用戶控件
37
用戶控件的實現效果類似HTML中的iFrame,用戶控件存放在.ascx文件中
不可以在控件文件ascx中使用htmlform控件,除非可以保證調用該控件的頁面中不存在htmlform(基本不可能)
用戶控件中的代碼,不能包含<% Page %>
使用一個用戶控件時,首先在文件頭部聲明該控件<% @ Register
TagPrefix="名字空間" TagName="控件名稱" Src="*.ascx"%>
然後在要引用該控件的地方寫<名字空間:控件名稱 runat="server" />
38 編寫控件屬性的方法
public
string Show
{
get
{
return 。。。。;//獲取屬性值時觸發
}
set
{
。。。。 =
value;//設置屬性值時觸發
}
}
注意屬性設置必須用public修飾符
39
編寫控件的事件處理
編寫控件的事件處理,必須在控件內部完成,也就是必須寫在ascx文件中
編寫控件的事件時不能使用public修飾符,因爲用戶控件的事件是不能對外公開的
<script
Language="C#" runat="server">
void Button_Click(Object sender,EventArgs
e)
{
show.Text = "提交事件處理完畢";
}
</script>
<asp:Button
id="submit" Text="提交" OnClick="Button_Click" runat="server" />
40
通過代碼創建用戶控件
UserControl uc =
(UserControl)LoadControl("UserControl4.ascx");//聲明用戶控件變量
((UsercontrolCS)uc).Show
= "此控件是通過程序代碼創建的";//控件類型UsercontrolCS時在ascx文件中指定的
((UsercontrolCS)uc).Color =
"Blue";//設置控件屬性
Page.Controls.Add(uc);//將用戶控件件加入Page頁面
<---------用戶控件
---------->DataBind
綁定數據包含在<%#%>標籤內,這些代碼只有在Databind()方法被調用時才執行
Page以及所有的Server控件都具有Databind()方法
對於容器而言,當父親執行DataBind()時,其所有孩子也執行DataBind()
41
公共變量綁定、控件屬性綁定、集合綁定(綁定的集合必須支持IConnection接口)、綁定表達式
<----------DataBind
---------->Ado.Net
42
主要對象 Connection、Command、DataAdapter
又分爲OleDB用的的OleDBConnection、OleDBCommand、OleDBDataAdapter(兼容性較好2003-8-4)
Sql server專用的SqlConnection、SqlCommand、SqlDataAdapter
43
兩個Connection對象具有相同的屬性和方法
ConnectionString連接字符串
DataBase打開的數據庫
DataSource打開的數據庫連接實例
Open
Close
44
OleDBConnection的使用
OleDBConnection MyConn = new
OleDBConnection();
MyConn.ConnectionString='Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=c://DataBase//db1.mdb;'
45 SqlConnection的使用
SqlConnection
MyConn = new SqlConnection();
/*連接字符串一*/MyConn.ConnectionString='user
id=sa;password=123456;initial catalog=northwind;data source=mySqlserver;Connect
Timeout=0'
/*連接字符串二*/MyConn.ConnectionString='server=(local);database=mydatabase;Trusted_Connection=yes;'
46
兩個Command對象都具有的屬性和方法
Connection使用的Connection對象實例
CommandText執行的SQL語句或存儲過程名
CommandType執行語句的類型(StoredProceduce、TableDirect、Text)
Parameters參數集合(主要用在存儲過程中)
ExecuteReader執行SQL,返回DataReader對象
ExecuteNonQuery執行SQL,返回影響記錄數
OldDBCommand myComm = new OldDBCommand('SQL語句',Connection對象);
47
兩個DataReader對象具有的屬性和方法
FieldCount記錄的字段總和
IsClosed
Close
Getstring以String類型返回指定列中的值
GetValue以自身類型返回指定列中的值
GetValues返回當前記錄中所有字段值的集合
Read將指針指向下一記錄
48
DataSet 在對Dataset進行操作時,影響的僅僅是DataSet中存儲的數據
只有在使用了DataAdapter.Update(MyDataSet)方法後,這些操作纔會影響數據庫
49
DataSet的使用
MyDataGrid.DataSource = MyDataSet;
//綁定設置方法二
MyDataGrid.DataSource = MyDataSet.Tables["內部表名"].DefaultView
//綁定設置方法三
MyDataGrid.DataSource =
MyDataSet.Tables[0].DefaultView
MyDataGrid.DataMember =
"內部表名";//指定綁定的是該DataSet中的哪個表
MyDataGrid.DataBind();
添加
DataRow
myDataRow = MyDataSet.Tables["內部表名"].NewRow();
myDataRow["Name"] =
...;
MyDataSet.Tables["內部表名"].Rows.Add(myDataRow);
修改
DataRow
myDataRow = MyDataSet.Tables["內部表名"].Rows[0];
myDataRow["Name"] =
...;
刪除
DataRow myDataRow = MyDataSet.Tables["內部表名"].Rows[0];
myDataRow.Delete();
事務
if (DataSet.HasErrors)
{
DataSet.RejectChanges();
}
else
{
DataSet.AcceptChanges();
}
50
DataAdapter使用(注意,DataAdapter使用的Connection對象,不必Open)
//方法一
OleDbDataAdapter
MyAdapter = new OleDbDataAdapter();
MyAdapter.SelectCommand.Connection =
...
MyAdapter.SelectCommand.CommandTExt = ...
//方法二
OleDbDataAdapter
MyAdapter = new OleDbDataAdapter(strselect,objectconnection);//只用於查詢
51
DataAdapter的方法
MyAdapter.Fill(MyDataSet,起始記錄行號,需要的記錄數,"在DataSetzhon表名")//設置起始點的參數,可用於分頁
MyAdapter.Update(MyDataSet,"在DataSetzhon表名")(注意:在使用這個方法時要使用OleDbCommandBuilder對象來產生SQL語句)
OleDbCommandBuilder custCB = new OleDbCommandBuilder(MyAdapter);
CommandBuilder對象可對單個表的數據改變自動產生SQL語句
<----------Ado.Net
52
DataGrid(WEB控件),將數據以表格的形式表現
<sap:DataGrid id="DataGridName"
runat="server"
/>
屬性
AutoGenerateColumns是否自動產生列,如果設爲TRUE,則會將所有的數據顯示出來
如果要使用自定義字段名,則該屬性必須爲FALSE
自定義顯示普通列
BoundColumn
<asp:BoundColumn HeaderText="ShowText標題" DataField="FieldName"
/>
自定義顯示超鏈列
HyperLinkColumn <asp:HyperLinkColumn
HeaderText="標題"
Text="直接設置超鏈顯示的文字"
DataTextField="超鏈顯示的字段"
DataNavigateUrlField="與超鏈有關的字段"
DataNavigateUrlFormatString="設置超鏈的顯示格式,其中{0}表示DataNavigateUrlField=字段"
/>
自定義顯示按鈕列
ButtonColumn <asp:ButtonColumn
HeaderText="標題"
Text="按鈕的文字(需要在DataGrid中添加OnItemCommand屬性)"
ButtonType="PushButton|LinkButton"
/>
自定義顯示編輯按鈕列
EditCommandColumn <asp:EditCommandColumn
HeaderText="標題"
EditText="編輯(需要在DataGrid中添加OnEditCommand屬性)"
UpdateText="更新(需要在DataGrid中添加OnUpdateCommand屬性)"
CancelText="取消(需要在DataGrid中添加OnCancelCommand屬性)"
CommandName=""
CommangArgument=""
ButtonType="PushButton|LinkButton"
/>
自定義顯示模板列
<asp:TemplateColumn HeaderText="標題">
<ItemTemplate>
………………
</ItemTemplate>
<HeaderTemplate>
………………
</HeaderTemplate>
<FooterTemplate>
………………
</FooterTemplate>
<EditTemplate>
………………
</EditTemplate>
</asp:TemplateColumn>
Example:
<asp:DataGrid
id="DG_New" runat="server" AutoGenerateColumns="False"
OnItemCommand="DataGrid_ItemCommand">
<Columns>
<asp:BoundColumn HeaderText="光盤名稱" DataField="CD_Name" />
<asp:HyperLinkColumn HeaderText="光盤類型" DataTextField="CD_Type"
DataNavigateUrlField="CD_Type"
DataNavigateUrlFormatString="ShowMore.asp?name={0}" />
<asp:ButtonColumn HeaderText="標題" Text="按鈕的文字" ButtonType="PushButton"
/>
<asp:EditCommandColumn HeaderText="操作區" EditText="編輯"
UpdateText="更新" CancelText="取消" ButtonType="PushButton"
/>
</Columns>
</asp:DataGrid>
53
DataGrid和分頁有關的屬性
AllowPaging是否允許進行分頁
AllowCustomPaging是否只調用顯示所需要的數據(要配合VirualItemCount使用)如果爲True則翻頁按鈕功能失效
VirtualItemCount設置記錄的總數
PageSize每頁的容量
OnPageIndexChanged頁面切換時觸發的事件
CurrentPageIndex當前的頁碼
PagerStyle-Mode="NextPrev|NumericPages"
按鈕的水平對齊方式
PagerStyle-PrevPageText上一頁按鈕的文字
PagerStyle-NextPageText下一頁按鈕的文字
PagerStyle-HorizontalAlign按鈕的水平對齊方式
54 DataGrid和排序有關的屬性
AllowSortint允許排序
OnSortCommand
55
Repeater(WEB控件),通過重複列表來顯示數據
<asp:Repeater id="MyRepeater" runat="server"
>
<HeaderTemplate>
Repeater控件的標頭模版<br>
</HeaderTemplate>
<ItemTemplate>
………………
</ItemTemplate>
<FooterTemplate>
………………
</FooterTemplate>
<AlternatingTemplate>
從0開始記數,對奇數項單獨進行定義
</AlternatingTemplate>
<SeparatorTemplate>
自定義分隔符
</SeparatorTemplate>
</asp:Repeater>
56
DataList(Web控件),Repeater的增強版
<asp:DataList id="MyRepeater"
RepeatLayout="Table|Flow"
RepeatDrection="Horizontal|Vertical"//佈局方向
RepeatColumns="1"//一行中顯示記錄的個數
HeaderStyle-BackColor="標題顏色"
AlternatingItemStyle-BackColor="奇數項顏色"
SelectedItemStyle-BackColor="選中項顏色"
OnItemCommand="觸發選擇事件"
OnEditCommand="觸發編輯事件"
OnUpdateCommand="觸發更新事件"
OnCancelCommand="觸發取消事件"
runat="server"
>
<HeaderTemplate>
Repeater控件的標頭模版<br>
</HeaderTemplate>
<ItemTemplate>
………………
</ItemTemplate>
<FooterTemplate>
………………
</FooterTemplate>
<AlternatingTemplate>
從0開始記數,對奇數項單獨進行定義
</AlternatingTemplate>
<SeparatorTemplate>
自定義分隔符
</SeparatorTemplate>
<SelectedItemTemplate>
點擊顯示詳細信息時顯示的內容
使用CommandName="select"的事件可以觸發OnItemCommand
</SelectedItemTemplate>
<EditItemTemplate>
點擊編輯時顯示的內容
使用CommandName="edit"的事件可以觸發OnItemCommand
</EditItemTemplate>
</asp:DataList>
57
ASP.Net中的Session可以不依賴Cookies支持,做法:
在Web.config或Machine.config中寫入
<sessionState
cookieless="true"
/>
58 HttpCookie類
寫入cookie的值
HttpCookie cookie = new HttpCookie("cookie變量名")
cookie.Value
=
"…………"//設置單值的cookie
cookies.Values.Add("變量KEY","變量值")//設置多個值的cookie
Response.AppendCookie(cookie)//完成寫
讀取cookie的值
HttpCookie mycookie = Request.Cookies("cookie變量名")
59
ViewState用於保持同一頁面,在多次提交打開時的參數,相當於一個頁面級的Session,也就是隻要沒有離開當前頁面,ViewState的值都會保存
例如:顯示的數據的排序字段,顯示數據的頁數,查詢的關鍵字等
ViewState["ViewState變量名"] = "ViewState變量值";
60 Globa.asax必須存放在當前應用的根目錄下,具有7個事件
public void
Application_Start(Object sender,EventArgs E)
{}
public void
Application_End(Object sender,EventArgs E)
{}
public void
Applicaiton_BeginRequest(Object sender,EventArgs E)
{
//在每次請求被提出時發生,可用於統計任務
}
public void Application_EndRequest(Object
sender,EventArgs E)
{
//在每次請求結束時
}
public void
Application_Error(Object sender,EventArgs E)
{
//應用程序報錯時觸發
Context.ClearError();
Response.Redirect("Err.htm");
}
public
void Session_Start(Object sender,EventArgs E)
{
}
public void
Session_End(Object sender,EventArgs E)
{
//當Session
Abandon時發生
}
---------->文件操作
61
File類常用方法,該類在System.IO名字空間中
AppendText
創建SreamWriter對象,添加內容,指定文件不存在則自動創建
Copy(string OrignFile,TargetFile)
(第三個參數表示是否覆蓋,TRUE爲覆蓋)
Move(string OrignFile,TargetFile)
移動文件到新路徑
Delete(string strPath)
(注意需要對處理的文件的安全性進行設置,只有完全控制權限纔可以)
Exists(string strPath)
判斷文件是否存在
Open(string
OpenFileName,FileMode,FileAccess)返回FileStream對象
OpenRead
只讀方式打開
OpenText(string strPath)
不支持中文,返回創建的StreamReader對象,讀取指定文本文件內容
OpenWrite 以讀寫方式打開
Creat
創建指定文件
CreatText(string strPath)
返回創建的StreamWriter對象,創建文本文件
62
FileStream類,可以以同步或異步的方式操作文件,可將內容臨時存放在緩存中
同步Read、Write
異步BeginRead、BeginWrite
建立FileStream對象:
方法一:FileStream
MyFS = new FileStream(string
OpenFileName,FileMode,FileAccess)
方法二:FileStream MyFS = File.Open(string
OpenFileName,FileMode,FileAccess)
FileMode:Append、Open、Create、CreateNew、OpenOrCreate、Truncate
FileAccess:Read、Write、ReadWrite
63
FileStream類常用方法與屬性
CanRead
CanWrite
CanSeek是否支持搜索
IsAsync是否異步打開模式
Position當前指針所指文件的位置
Flush將緩存數據寫入文件
Lock
Read從文件讀入緩存區
ReadByte讀取字節
Seek設置當前指針所指文件的位置
Unlock
Write向流中寫入字節塊
WriteByte寫入一字節
64
StreamReader 對象讀取FileStream
StreamReader MySread = new
StreamReader(MyStream,Encoding.Default)
//第二個參數是編碼類型,這裏用得是文件自己得編碼類型
MySread.ReadLine //返回字符串
MySread.Peek()
//返回值爲-1時,表示已經讀到文件末尾
MySread.Close()
65 StringBuilder
對象,用於連接字符串
StringBuilder MyStrBuilder = new StringBuilder()
//將多個字符串聯結
MyStrBuilder.Append(Tempstr +
"<br>")
MyStrBuilder.ToString()
66 StreamWriter
對象,寫入FileStream
StreamWriter MySWrite = new
StreamWriter(MyStream,Encoding.Default)
MySWrite.WriteLine("曾經有一份真摯的愛情放在我的面前。")
MySWrite.Flush()
//將緩衝區的內容寫入文件
MySWrite.Close()
67 BinaryReader
對象,以二進制的方式讀取入FileStream
BinaryReader MyBinRead = new
BinaryReader(MyStream)
MyBinRead.ReadByte() //讀取1
byte的二進制內容,並移動指針
MyBinRead.BaseStream.Seek(0,SeekOrigin.Begin)
//將讀取文件流指針指向流的頭部
//第一個參數是指針定位數值,第二個參數是指針定位的相對位置
MyBinRead.BaseStream.Seek(0,SeekOrigin.End)
//將讀取文件流指針指向流的尾部
MyBinRead.BaseStream.Length
MyBinRead.BaseStream.Position
Close()
68
BinaryWriter 對象,以二進制的方式寫入FileStream
BinaryWriter MyBinWrite = new
BinaryWriter(MyStream);
MyBinWrite.Write(Mybyte Tbyte)
//寫入二進制內容,並移動指針
MyBinWrite.BaseStream.Seek(0,SeekOrigin.Begin)
//將寫入文件流指針指向流的頭部
//第一個參數是指針定位數值,第二個參數是指針定位的相對位置
MyBinWrite.BaseStream.Seek(0,SeekOrigin.End)
//將寫入文件流指針指向流的尾部
MyBinWrite.BaseStream.Length
MyBinWrite.BaseStream.Position
Close()
69
DirectoryInfo的常用屬性與方法
Create
CreateSubdirectories
創建子目錄
Delete
Exists
GetDirectories 獲取當前目錄的子目錄的集合
GetFiles
獲取當前目錄的文件的集合
GetFileSystemInfos
獲取當前目錄的文件與子目錄的集合
MoveTo
Name
Parent
Root
CreationTemi
LastAccessTime
LastWriteTime
70
FileInfo常用方法和屬性
CopyTo
AppendText
創建StreamWriter對象,添加新文本
Create
CreateText
創建StreamWriter對象,創建一個新文本文件
Delete
Exists
Length
MoveTo
CopyTo
Name
Extension擴展名
CreationTemi
LastAccessTime
LastWriteTime
<----------文件操作
---------->XML操作
71
XML調用控件
<asp:Xml id="" DocumentSource="XML文件名" TransformSource="XSL文件名"
runat="server" />
XML調用對象
XmlDocument
名字空間System.Xml,DOM是XML在內存緩存中的表現形式
Load()
XslTransform
名字空間System.Xml.Xsl
Load()
XmlTextReader
名字空間System.Xml,將XML中的內容一行行讀取
XmlTextReader MyReader = new
XmlTextreader("xml文件名")
Read()
Close()
NodeType屬性,等於XmlNodeType.Element|XmlNodeType.Text|XmlNodeType.CDATA|XmlNodeType.ProcessingInstruction|XmlNodeType.Comment|XmlNodeType.Document|XmlNodeType.DocumentType|XmlNodeType.EntityReference
Name
Value
XmlTextWrite 名字空間System.Xml,寫入XML的內容
WriteStartDocument("xml文件名",True|False)
WriteEndDocument()
WriteStartElement(string localname)
WriteEndElement()
WriteAttributeString(string localName,string Value)
WriteElementString(string localName,string Value)
WriteComment(string
...)寫註釋
Flush()存入文件
Close()
Formatting是否縮進格式,值爲
Formatting.Indented|Formatting.None
Indentation縮進字節
IndentChar設置縮進的字符
72
用DataSet操作XML
DataSet對象的ReadXml()方法,得到的數據表名是頁元素的父元素名
DataSet.ReadXml(Stream
stream|TextReader reader|string
filename)
(注意:使用該方法讀XML文件只能讀三層的XML結構;注意:根元素如果有屬性,則也無法正常讀取數據,只會讀根元素)
DataSet對象的WriteXml()方法,將DataSet中的數據寫回XML文件
AcceptChanges()
WriteXml(Stream
stream|TextReader reader|string
filename)
Clear()
<----------XML操作
---------->WebService
73
編寫服務器端的webservice(注意webservice支持的解析與返回的數據類型是有限的)
首先要在首行標明類名,該類名必須與後面指定得類名一致 <% @ WebService Language="C#" Class="類名"
%>
第二步,使用using 來導入名字空間
using System;
using
System.Web.Services;//這兩個名字空間是必須得
第三步,創建類
public class 類名 :
WebService
{
[WebMethod]//注意如果要使用session對象,必須寫[WebMethod(EnableSession=true)]
//使用application對象則不需要寫什麼
public 方法名(..參數.)
{
}
}
74
編寫客戶端的webservice
首先得到服務器端webservice的WSDL文件,使用wsdl命令,將其轉化爲C#文件
wsdl
/l:cs /n:X_coffeeWebService /out:d:/x_coffee.cs d:/x_coffee.wsdl
(生成文件類型) (代理程序的名字空間)
使用CSC,編譯這個C#文件
csc /t:library
/r:System.dll,System.Web.dll,System.Data.dll /out:d:/xcoffee.dll
d:/x_coffee.cs
將得到的xcoffee.dll放在根目錄的bin目錄下
在需要調用該webservice的aspx文件中
<% @ Import Namespace="X_coffeeWebService"
%> 引用名字空間
x_coffee MyCoffee = new x_coffee(); 建立類
MySet =
MyCoffee.GetDataSet(); 調用類方法
75
WebResponse、WebRequest,所屬名字空間System.Net
WebResponse
創建:WebResponse MyRes
= MyReq.GetResponse();
GetResponseStream()
返回Stream對象
Close()
WebRequest
創建:WebRequest MyReq =
WebRequest.Create( "網址" );
GetResponse() 返回WebResponse對象
Method屬性
Get Post
Write(stream)
76 TcpClient,所屬名字空間
System.Net.Sockets
TcpClient MyTcp = new
TcpClient()
MyTcp.Connect("IP地址或域名",端口號) 無返回值
Stream MyStream =
MyTcp.GetStream();
MyTcp.Close()
77
Asp.Net中的組件不需要註冊,只要放在bin目錄中就可以使用
78 Trace.Warn("手動添加跟蹤調試信息")
79
Code-Behind
Inherits 繼承代碼所在類
Src 代碼文件位置
在cs文件中必須的幾個名字空間
using System;
using System.Web.UI; 包含Page類
using
System.Web.UI.HtmlControls; 包含Html控件
using System.Web.UI.WebControls;
包含Web控件
象System.Collection;這種名字空間在aspx中是默認導入的,而在cs文件中就要手動導入
public
class DataListPIndex :Page 表示該類繼承自Page類
80
發送郵件,在System.Web.Mail名字空間中的三個類
SmtpMail
SmtpMail.SmtpServer="ms.yellowpage.com.cn" //設置發送郵件的服務器
SmtpMail.Send(From,to,subject,message); //該方法爲Static不需要創建實例來調用
SmtpMail.Send(MailMessage)
MailMessage屬性
From
To
Cc
抄送地址
Bcc 保密抄送地址
Subject
Body
BodyEndoding 編碼方式
BodyFormail 內容格式 MailFormat.Html MailFormat.Text
Priority 優先級 High
Normal Low
Attachments 附件
創建對象 MailMessage MyMsg = new
MailMessage()
發送信 SmtpMail.Send(MyMsg)
MailAttachment
new
MailAttachment("文件服務器上絕對路徑") //默認編碼方式UUencode
new
MailAttachment("文件服務器上絕對路徑","文件編碼方式") //編碼方式UUencode或Base64
Encoding
只讀,附件編碼方式
Filename 只讀,附件絕對路徑
MyMsg.Attachments.Add(new
MailAttachment("文件服務器上絕對路徑"));
81
GDI+
名字空間System.Drawing、System.Drawing.Imaging、System.Drawing.Text
Bitmap類,用於存儲象素
Bitmap MyBitmap = new Bitmap ( intWidth,intHeight,PixelFormat.Format32bppArgb
)//第三個參數是位圖的象素格式
MyBitmap.Save(MyStream,ImageFormat.Gif);//第一個參數爲stream類型,第二個參數是圖片的格式,支持有10種格式
Dispose()
Graphics類,用於畫圖的畫板
Graphics MyGraph =
Graphics.FromImage( MyBitmap );//該方法爲靜態方法,所以不需要實例調用
MyGraph.FillRectangle(SolidBrush,Rectangle);//用指定畫筆填充指定區域
MyGraph.DrawString(string 文字,Font 字體,SolidBrush 畫筆,intX,intY);
Dispose()
Rectangle類,定義一個矩形區域
Rectangle MyRect = new
Rectangle(intX,intY,intWidth,intHeight);
Bursh類,爲抽象類,不能直接調用
SolidBrush類,定義一個Solid的畫筆
SolidBrush MyBrushnew = new
SolidBrush(bgColor)
TextureBrush
LinearGradientBrush
Color類,定義一個顏色
Color MyColor = Color.Red;
Font類,定義一個字體
Font MyFont = new
Font(string 字體名稱,integer
字體大小,FontStyle.Bold);//最後一個參數是字體樣式
MemoryStream類,一種無緩衝流,將數據保存在內存中,很容易釋放
MemoryStream MyStream = new MemoryStream();
MyBitmap.Save(MyStream,ImageFormat.Gif);
ToArray()
將完成的圖形輸出
Response.ClearContent();//清除緩存中的內容
Response.ContentType =
"image/GIF";
Response.BinaryWrite(MyStream.ToArray());
Response.End();
82
Stream類
Stream MyStream = MyTcp.GetStream();
Write(寫入的2進制數組, 0,
Length);//第二個參數是寫入的起始地址,第三個參數是寫入長度
83 ASP與ASP.NET
ASP
ASP.NET
Request.Form("Value")
Request.Form["Value"]
Request.Form("Value")(1)
Request.Form.GetValues("Value")[1]
Response.Write "可不用括號"
Response.Write("必須要加括號")
函數定義在<%%>中 函數定義在<script
Language="C#" runat="server"></script>
84 VB與VB.Net
VB
VB.Net
對變量可以不做聲明 Dim MyName as string '必須聲明變量
調用某函數時,可以省略call和()
Call ValidateUser("xupeiming","123456")'調用函數時不能省略call和()
Set
MyConn=Server.CreateObject Dim Myconn
MyConn=Server.CreateObject("ADODB.Connection")'不使用Set關鍵字
<%=MyRecordset("Name")%>
<%=MyRecordset("Name").Value '沒有默認索引值,必須指明是什麼屬性%>
While .....
While ....
..... ....
Wend End While
增加了+=、-=、*=、/=
運算符
<----------WebService
事件傳遞參數對象列表
onClick事件
--EventArgs
onCommand事件 --CommandEventArgs
onClick事件
--ImageClickEventArgs(ImageButton控件)
OnAdCreated事件
--AdCreatedEventArgs(AdRoator控件)
OnDayRender事件
--DayRenderEventArgs(Calendar控件)
OnItemCommand等事件
--DataGridCommandEventArgs(DataGrid控件)
OnPageIndexChanged事件
--DataGridPageChangedEventArgs(DataGrid控件分頁時)
ASP.Net學習筆記(絕對是筆記)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.