Asp.net中的常用小技巧

來源:互聯網
上載者:User

1.Asp.Net中幾種相似的標記符號: < %=...%>< %#... %>< % %>< %@ %>解釋及用法
   答:  < %#... %>: 是在繫結控制項DataBind()方法執行時被執行,用於資料繫結
          如: < %# Container.DataItem("tit") %>

        < %= %>: 在程式執行時被調用,可以顯示後台變數值
          如:  
           *.aspx中: < %= aaa %>
           *.cs中:   protected string aaa="姓名";

        < % %>: 內聯代碼塊裡面可以在分頁檔*.aspx或*.ascx檔案裡面嵌入後台代碼
          如:
            < %
             for(int i=0;i<100;i++)
             {
                   Reaponse.Write(i.ToString());
             }
            %>

        < %@  %>是在*.aspx頁面前台代碼匯入命名空間,
           如: 
            < %@ Import namespace="System.Data"%>

2.控制項接收哪些類型資料?
      答:接收Bind的控制項,一般有DropDownList,DataList,DataGrid,ListBox這些集合性質的控制項,而被捆綁   的主要是ArrayList(數組),Hashtable(哈稀表),DataView(資料檢視),DataReader這四個,以後我們就可以   對號入座,不會出現DataTable被捆綁的錯誤了:)
DropDownList------ArrayList(數組)
DataList-------Hashtable(哈稀表)
DataGrid-------DataView(資料檢視)
ListBox-------DataView(資料檢視)
 

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.顯示一共有多少頁,並且報告當前為第幾頁
     當前頁是:< %=DataGrid1.CurrentPageIndex+1%>
     總頁數是:< %=DataGrid1.PageCount%>
11.個人化分頁
     程式員大本營之"親密接觸ASP.Net(14)"有完整代碼
12.要將頁面重設為有效狀態
 IValidator val;
        foreach(val in Validators)
         {
            Val.IsValid = true;
         }
13.重新執行整個驗證序列   
        IValidator val;
        foreach(val in Validators)
         {
            Val.Validate();
         }
14.禁用用戶端驗證
 < %@ Page Language="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文檔的根節點中指定該資訊,如下所示:
 
18.XML檔案的讀取
 FileStream myfs=new Filestream(Server.MapPath("xmldtagrid.xml"),FileMode.Open,FileAccess.Read);
 StreamReader myreader=new StreamReader(myfs);
 DataSet myds=new DataSet();
 myds.ReadXml(myreader);
19.Regex 控制項RegularExpressionValidator
 符號   含義
 ^   指定檢查開始處
 $   指定檢查結束處
 []   檢查輸入的值是否與方括弧中的字元之一相匹配
 \W   允許輸入任何值
 \d{}   "\d"指定輸入的值是一個數字,{}表示已指定資料類型的出現次數
 +   表明一個或多個元素將被添加到正在檢查的運算式
    樣本:電子郵件格式(具有@號,且以.com/.net/.org/.edu結尾)
     validationexpression="^[\w-]+@[\w-]+\.(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[2].Controls[0]).Text; //為參數賦予已修改的行值
21.自訂控制項:
 a.使用者控制項(ASP建立頁面一樣)
  (I).  建立頁面,拖入控制項,設定屬性/方法.   < % @Control Language="C#" Debug="True" %>中的@Control指令來定義此頁         將包含控制項代碼
  (II)  儲存為*.ascx檔案,如a.ascx.
  (III).使用: 頭

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.