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();
  }