• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • Asp.Net細節性問題回答精萃

    發表于:2007-07-14來源:作者:點擊數: 標簽:
    1. 與 的區別: 答: 是在程序執行時調用, 是在DataBind()方法之后被調用 2.控件接收哪些類型數據? 答:接收Bind的控件,一般有DropDownList,DataList,DataGrid,ListBox這些集合性質的控件,而被捆綁 的主要是ArrayList(數組),Hashtable(哈稀表),DataView(數據
    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.顯示一共有多少頁,并且報告當前為第幾頁

       當前頁是:


       總頁數是:


      11.個性化分頁

       程序員大本營之"親密接觸ASP.Net(14)"有完整代碼  

      12.要將頁面重置為有效的狀態

       IValidator val;

       foreach(val in Validators)

       {

       Val.IsValid = true;

       }

      13.重新執行整個驗證序列

       IValidator val;

       foreach(val in Validators)

       {

       Val.Validate();

       }

      14.禁用客戶端驗證

      

      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,FileAclearcase/" target="_blank" >ccess.Read);

       StreamReader myreader=new StreamReader(myfs);

       DataSet myds=new DataSet();

       myds.ReadXml(myreader);

    19.正則表達式 控件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指令來定義此頁 將包含控件代碼

       (II) 保存為*.ascx文件,如a.ascx.

       (III).使用: 頭

       //Tagprefix為控件的前綴,像ASP:TextBox中的ASP

       //TagName用于指定自定義控件的名稱

       //Src指定控件文件源

       身體:

       b.使用C#創建自定義控件

       (I). 創建純代碼文件,繼承基類Control,并保存為*.cs,如a.cs.

       (II).將代碼編譯生成程序集: csc /t:library /r:System.dll,System.Web.Dll a.cs

       //library告訴C#編譯器生成程序集

       // /r:System.dll System.Web.Dll告訴C#編譯器引用指定的程序集

       (III).將生成dll文件放在bin目錄中

       (IV).使用:

      22.復合控件注意事項:

       public class MyCompositin:Control,INamingContainer //INamingContainer:如果在頁面上有多個此控件實例,則此結口可以給每 {} //個實例有唯一標志  

       this.EnsureChildControls();//表示將復合控件的子控件都呈現到頁面上,此方法檢查服務器控件是否包含子控件  

       CreateChildControls

      23.Button/LinkButton/ImageButton/HyperLink什么時候用?

      1.Button和ImageButton用于將數據傳遞回服務器.

      2.Hyperlink用于在頁面之間導航

      3.LinkButton用于將數據保存到服務器或訪問服務器上的數據

      24.跟蹤調試

      跟蹤:

       1.頁級別跟蹤: 在頁的開頭包括如下的頁指令

       自定義消息:

       Trace.Write("這里為要顯示的字符串");

       Trace.Warn("這里為要顯示的字符串"); //與Trace.Write相同,只是字體為紅色

       檢查是否使用了跟蹤

       例句: if(Trace.IsEnabled) { Trace.Warn("已啟用跟蹤")}

       2.應用程序級別跟蹤: 在Web.config文件的節中

      25.設置緩存:

       1.輸出緩存:

       I.頁面設置: 將 加在需要緩存頁的開頭

       注釋:在請求該頁的后兩分鐘之內,輸出內容不變

       II.編程方式設置:

       主要使用類System.Web.HttpCachePolicy類下的方法

       (1). Response.Cache.SetExpires(DateTime.Now.AddSeconds(120)); //在此方法中必須指定到期時間,如本語 //句為兩分鐘

       (2). Response.Cache.SetExpires(DateTime.Now.AddSeconds(120));

       Response.Cache.SetSlidingExpiration(true); //"可調到期",主要用于那些開始訪問量大,但隨后訪問 //量平衡的情況

       功能:第一句設置緩存到期時間,第二行打開 sliding expiration(可調到期).

       2.數據緩存:

       (1).DataView mySource; (2).給mySource賦值;

       (3).Cache["myCache"]=mySource; (4).mySource=(DataView)Cache["myCache"]

      26.部署: 直接復制到產品服務器即可 復制語句: XCOPY //XOPY只接受物理路徑,不接受虛擬路徑

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>