CSDN博客

img wk122348545

ASP.Net学习笔记(绝对是笔记)

发表于2008/9/28 17:11:00  414人阅读

分类: asp.net

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控件分页时)

OnItemCommand等事件    --DataListCommandEventArgs(DataList控件) 
阅读全文
0 0

相关文章推荐

img
取 消
img