ASP.NET网站制作之Asp.Net进修:细节性成绩
在VC.net的版本上,为了让C++运行在.NETFramework中,微软为C++引进了托管,就是托管C++(ManagedC++),这个根本就没有流行起来,自托管C++产生以后就没有收到过好评。asp.net|成绩 1.<%=...%>与<%#...%>的区分:答:<%=...%>是在程序实行时挪用,<%#...%>是在DataBind()办法以后被挪用
2.控件吸收哪些范例数据?
答:吸收Bind的控件,一样平常有DropDownList,DataList,DataGrid,ListBox这些汇合性子的控件,而被绑缚的次要是ArrayList(数组),Hashtable(哈稀表),DataView(数据视图),DataReader这四个,今后我们就能够对号入坐,不会呈现DataTable被绑缚的毛病了:)
3.DataBind,取得的数据,体系会将其默许为String,如何转化为别的的范例?
DataBinder.Eval(Container.DataItem,"转换的范例","格局")
最初一个"格局"是可选的,一样平常不必往管他,Container.DataItem是绑缚的数据项,"转换范例"指的是Integer,String,Boolean这一类器材.
4.次要定名空间:
<%@ImportNamespace="System.Data"%>处置数据时用到
<%@ImportNamespace="System.Data.ADO"%>利用ADO.net;时用到
<%@ImportNamespace="System.Data.SQL"%>SQLServer数据库公用
<%@ImportNamespace="System.Data.XML"%>不必看处置XML用到
<%@ImportNamespace="System.IO"%>处置文件时用到
<%@ImportNamespace="System.Web.Util"%>发邮件时人人会用到
<%@ImportNamespace="System.Text"%>文本编码时用到
5.Connections(SQLConection大概ADOConnection)的经常使用属性和办法:
|ConnectionString获得或设置保持数据库的语句
|ConnectionTimeout获得或设置保持数据库的最长工夫,也是就超不时间
|DataBase获得或设置在数据库服务器上要翻开的数据库名
|DataSource获得或设置DSN,人人不会生疏吧:)
|Password获得或设置暗码
|UserID获得或设置上岸名
|State获得今朝联合的形态
|Open()翻开联合
|Close()封闭联合
|Clone()克隆一个联合。(呵呵,绵羊能够Connection我也能够)
示例:
SQLConnectionmyConnection=newSQLConnection();
myConnection.DataSource="mySQLServer";
myConnection.Password="";
myConnection.UserID="sa";
myConnection.ConnectionTimeout=30;
myConnection.Open();
myConnection.Database="northwind";
myConnection.IsolationLevel=IsolationLevel.ReadCommitted
6.Command经常使用的办法和属性
|ActiveConnection获得或设置联合Connections
|CommandText实行的SQL语句或贮存历程(StoredProcedure)名
|CommandTimeout实行的最长工夫
|CommandTypeCommand操纵的范例(StoredProcedure,Text,TableDirect)三种,默许Text
|Parameters操纵贮存历程时利用
|Execute()实行SQL语句或贮存历程
|ExecuteNonQuery()同上,区分在于不前往纪录集
|Clone()克隆Command
示例:
stringmySelectQuery="SELECT*FROMCategoriesORDERBYCategoryID";
stringmyConnectString="userid=sa;password=;database=northwind;server=mySQLServer";
SQLCommandmyCommand=newSQLCommand(mySelectQuery);
myCommand.ActiveConnection=newSQLConnection(myConnectString);
myCommand.CommandTimeout=15;
myCommand.CommandType=CommandType.Text;</FONT>
7.翻开和封闭数据库两种办法:
1.MyConnection.Open();//翻开联合
MyConnection.Close();
2.MyCommand.ActiveConnection.Open();
MyCommand.ActiveConnection.Close()
8.利用DataSet,在数据库中增添、修正、删除一个数据
a.增加数据
DataRowdr=MyDataSet.Tables["UserList"].NewRow();
dr["UserName"]="周讯";
dr["ReMark"]="100";
dr["Comment"]="大度MM";
MyDataSet.Tables.Rows.Add(dr);
b.修正数据
MyDataSet.Tables["UserList"].Rows["UserName"]="飞刀年老";
c.删除数据
MyDataSet.Tables["UserList"],Rows.Delete();
d.恢单数据
if(MyDataSet.HasErrors)
{
MyDataSet.RejectChanges();
}
e.探测DataSet是不是有修改
if(MyDataSet.HasChanges)
{
//保留代码
}else{
//由于没有变更,以是不必保留,以节俭工夫
}
f.更新数据库
MyComm.Update(MyDataSet);//更新数据库中一切的表
MyComm.Update(MyDataSet,"UserList");//更新某个表
9.DataGrid完成分页功效
AllowPaging="True"//是指同意分页,这个是最次要的。有了它,我们才干分页。
PageSize="5"//是指定每页显现的纪录数,假如不写,就会默许为10条。
PagerStyle-HorizontalAlign="Right"//是指定分面显现的定位,默许是Left
PagerStyle-NextPageText="下一页"//把改成上一页和下一页字符串
PagerStyle-PrevPageText="上一页"
PagerStyle-Mode="NumericPages"//把改成123数字显现
10.显现一共有几页,而且呈报以后为第几页
以后页是:<fontcolor=red><%=DataGrid1.CurrentPageIndex+1%></font><br>
总页数是:<fontcolor=red><%=DataGrid1.PageCount%></font><br>
11.本性化分页
程序员年夜本营之"亲热打仗ASP.Net(14)"有完全代码
12.要将页面重置为无效的形态
IValidatorval;
foreach(valinValidators)
{
Val.IsValid=true;
}
13.从头实行全部考证序列
IValidatorval;
foreach(valinValidators)
{
Val.Validate();
}
14.禁用客户端考证
<%@PageLanguage="c#"clienttarget=downlevel%>
15.Repeater、DataList和DataGrid控件用处"
这些控件能够简化几种罕见的Web使用程序计划,包含报表、购物车、产物列表、查询
了局和导航菜单。Repeater是独一同意在其模板中存在HTML片断的控件.
16.Server.Execute("another.aspx")和Server.Transfer("another.aspx")区分:
Execute是从以后页面转移到指定页面,并将实行前往到以后页面
Transfer是将实行完整转移到指定页面
17.XML文件中能够本人存有架构,也能够存在于*.xsl文件中,但必需经由过程xmlns属性在xml文档的根节点中指定该信息,以下所示:
<rootelementxmlns="x-schema:scheduledSchema.xsl">
18.XML文件的读取
FileStreammyfs=newFilestream(Server.MapPath("xmldtagrid.xml"),FileMode.Open,FileAccess.Read);
StreamReadermyreader=newStreamReader(myfs);
DataSetmyds=newDataSet();
myds.ReadXml(myreader);
19.正则表达式控件RegularExpressionValidator
标记寄义
^指定反省入手下手处
$指定反省停止处
[]反省输出的值是不是与方括弧中的字符之一相婚配
W同意输出任何值
d{}"d"指定输出的值是一个数字,{}暗示已指定命据范例的呈现次数
+标明一个或多个元素将被增加到正在反省的表达式
示例:电子邮件格局(具有@号,且以.com/.net/.org/.edu开头)
validationexpression="^+@+.(com|net|org|edu)$"
20.DataGrid控件中数据操纵主要语句:
属性:DataKeyField="userid"//设userid为表的主键,没法将该字段的值更新到数据库,最好设表的主键为DataGrid的主键
SqlCommand.Parameters["@userid"].Value=dg.DataKeys[(int)e.Item.ItemIndex];//检索所要更新的行的主键(将以后选定的行的主键值赋给命令的一个参)数
SqlCommand.Parameters["@fname"].Value=((TextBox)e.Item.Cells.Controls).Text;//为参数付与已修正的行值
21.自界说控件:
a.用户控件(ASP创立页面一样)
(I).创立页面,拖进控件,设置属性/办法.<%@ControlLanguage="C#"Debug="True"%>中的@Control指令来界说此页将包括控件代码
(II)保留为*.ascx文件,如a.ascx.
(III).利用:头<%@RegisterTagprefix="MyFirstControl"TagName="MyLbl"Src="a.axcs"%>
//Tagprefix为控件的前缀,像ASP:TextBox中的ASP
//TagName用于指定自界说控件的称号
//Src指定控件文件源
身材:<MyFirstControl:MyLblrunat="Server"id="AllMine"MyText="乐成了"/>
b.利用C#创立自界说控件
(I).创立纯代码文件,承继基类Control,并保留为*.cs,如a.cs.
(II).将代码编译天生程序集:csc/t:library/r:System.dll,System.Web.Dlla.cs
//library告知C#编译器天生程序集
///r:System.dllSystem.Web.Dll告知C#编译器援用指定的程序集
(III).将天生dll文件放在bin目次中
(IV).利用:<%@RegisterTagPrefix="Mine"Namespace="MyOwnControls"Assembly="a"%>
22.复合控件注重事项:
publicclassMyCompositin:Control,INamingContainer//INamingContainer:假如在页面上有多个此控件实例,则此结口能够给每{}//个实例有独一标记
this.EnsureChildControls();//暗示将复合控件的子控件都出现到页面上,此办法反省服务器控件是不是包括子控件
CreateChildControls
23.Button/LinkButton/ImageButton/HyperLink甚么时分用?
1.Button和ImageButton用于将数据传送回服务器.
2.Hyperlink用于在页面之间导航
3.LinkButton用于将数据保留到服务器或会见服务器上的数据
24.跟踪调试
跟踪:
1.页级别跟踪:在页的开首包含以下的页指令<%@PageTrace="True"TraceMode="SortByCategory/SortByTime"%>
自界说动静:
Trace.Write("这里为要显现的字符串");
Trace.Warn("这里为要显现的字符串");//与Trace.Write不异,只是字体为白色
反省是不是利用了跟踪
例句:if(Trace.IsEnabled){Trace.Warn("已启用跟踪")}
2.使用程序级别跟踪:在Web.config文件的<System.Web>节中<traceenabled="true"pageOutput="true"/>
25.设置缓存:
1.输入缓存:
I.页面设置:将<%@OutputCacheDuration="120"VaryByParam="none"%>加在必要缓存页的开首
正文:在哀求该页的后两分钟以内,输入内容稳定
II.编程体例设置:
次要利用类System.Web.HttpCachePolicy类下的办法
(1).Response.Cache.SetExpires(DateTime.Now.AddSeconds(120));//在此办法中必需指定到期工夫,如本语//句为两分钟
(2).Response.Cache.SetExpires(DateTime.Now.AddSeconds(120));
Response.Cache.SetSlidingExpiration(true);//"可调到期",次要用于那些入手下手会见量年夜,但随后会见//量均衡的情形
功效:第一句设置缓存到期工夫,第二行翻开slidingexpiration(可调到期).
2.数据缓存:
(1).DataViewmySource;(2).给mySource赋值;
(3).Cache["myCache"]=mySource;(4).mySource=(DataView)Cache["myCache"]
26.部署:间接复制到产物服务器便可复制语句:XCOPY<source_path>
<destination_path>//XOPY只承受物理路径,不承受假造路径
在VC.net的版本上,为了让C++运行在.NETFramework中,微软为C++引进了托管,就是托管C++(ManagedC++),这个根本就没有流行起来,自托管C++产生以后就没有收到过好评。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。 PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。 如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。 主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。 主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。 在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。
页:
[1]