Asp.Net细节性问题精萃

[来源] 达内    [编辑] 达内   [时间]2013-03-14

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.主要命名空间:

  <% @ Import Namespace="System.Data" %>    处理数据时用到

  <% @ Import Namespace="System.Data.ADO" % >  使用ADO.net ; 时用到

  <% @ Import Namespace="System.Data.SQL" %>   SQL Server 数据库专用

  <% @ Import Namespace="System.Data.xml" %>   不用看处理XML用到

  <% @ Import Namespace="System.IO" %>   处理文件时用到

  <% @ Import Namespace="System.Web.Util" %>   发邮件时大家会用到

  <% @ Import Namespace="System.Text" %>    文本编码时用到

  5.Connections(SQLConection 或者 ADOConnection)的常用属性和方法:

  | ConnectionString 取得或设置连结数据库的语句

  | ConnectionTimeout 取得或设置连结数据库的最长时间,也是就超时时间

  | DataBase 取得或设置在数据库服务器上要打开的数据库名

  | DataSource 取得或设置DSN,大家不会陌生吧:)

  | PassWord 取得或设置密码

  | UserID 取得或设置登陆名

  | State 取得目前联结的状态

  | Open() 打开联结

  | Close() 关闭联结

  | Clone() 克隆一个联结。(呵呵,绵羊可以Connection我也可以)

  示例:

  SQLConnection myConnection = new SQLConnection();

  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 执行的最长时间

  | CommandType Command操作的类型(StoredProcedure,Text,TableDirect)三种,默认Text

  | Parameters 操作储存过程时使用

  | Execute() 执行SQL语句或储存过程

  | ExecuteNonQuery() 同上,区别在于不返回记录集

  | Clone() 克隆Command

  示例:

  string mySelectQuery = "SELECT * FROM Categories ORDER BY CategoryID";

  stringmyConnectString="userid=sa;password=;database=northwind;server=mySQLServer";

  SQLCommand myCommand = new SQLCommand(mySelectQuery);

  myCommand.ActiveConnection = new SQLConnection(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.添加数据

  DataRow dr=MyDataSet.Tables["UserList"].NewRow();

  dr["UserName"] = "周讯";

  dr["ReMark"] = "100";

  dr["Comment"] = "漂亮MM";

  MyDataSet.Tables.Rows.Add(dr);

  b.修改数据

  MyDataSet.Tables["UserList"].Rows[0]["UserName"]="飞刀大哥";

  c.删除数据

  MyDataSet.Tables["UserList"],Rows[0].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.显示一共有多少页,并且报告当前为第几页

  当前页是:<font color=red><%=DataGrid1.CurrentPageIndex+1%></font><br>

  总页数是:<font color=red><%=DataGrid1.PageCount%></font><br>

  11.个性化分页

  程序员大本营之"亲密接触asp.net(14)"有完整代码

  12.要将页面重置为有效的状态

  IValidator val;

  foreach(val in Validators)

  {

  Val.IsValid = true;

  }

  13.重新执行整个验证序列

  IValidator val;

  foreach(val in Validators)

  {

  Val.Validate();

  }

资源下载