程式開發:ASP.NET熱點問題解答14個

來源:互聯網
上載者:User
asp.net|程式|解答|問題

    ASP.NET熱點問題解答14個

     1、ASP.NET能在那些系統中運行?
   
     目前,ASP.NET還只能奔跑在微軟的Windows 2000、Windows XP和Windows 2003的系統中,並且需要微軟Internet Information Server(IIS)的支援,微軟原計劃要讓Windows NT4.0也支援ASP.NET,但可能微軟是有些技術問題或市場考慮,還沒有實現NT下的ASP.NET的支援。
   
     2、在一個ASPX檔案中是否可以使用一種以上的語言?
   
     答案讓你有點失望,雖然微軟的提供了公用語言運行環境(CLR,Common Laguage Runtime),實現了多種程式設計語言間的緊密整合,可以允許你從一個VB對象中匯出C#所需的對象來,但一個ASPX檔案中只能用一種語言,正如你不能在VB.NET中使用C#的文法一樣。
   
     3、ASPX檔案的伺服器端指令碼支援那些語言?
   
     目前,ASPX檔案只支援C#、Visual Basic.NET、Jscript.NET和J#,但是你使用code—behind(代碼分離)的方法建立一個獨立代碼檔案,你就可以使用任何.NET編譯器支援的語言來實現功能了。
   
     4、在Global.asax檔案中能使用code—behind(代碼分離)技術嗎?
   
     當然可以了,例如:
     Global.asax:
     
     和使用code—behind(代碼分離)技術
     Global.asax: 
     MyApp.vb: 

     Imports System.Web 
     Imports System.Web.SessionState 
     Public Class MyApp 
     Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs) 
     Application("online_session") = 0 
     End Sub 
     Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs) 
     Application.Lock() 
     Application("online_session") = CInt(Application("online_session")) + 1 
     Application.UnLock() 
     End Sub 
     Sub Session_End(ByVal sender As Object, ByVal e As EventArgs) 
     Application.Lock() 
     Application("online_session") = CInt(Application("online_session")) - 1 
     Application.UnLock() 
     End Sub 
     End Class 

    5、我能否看到ASPX檔案在ASP.NET中產生的程式碼嗎?
   
     可以看到的,當你的ASPX檔案中包含命令或Web.config中聲明了時,你就可以在系統目錄下的Microsoft.NET\Framework\v1.0.nnnn\Temporary ASP.NET Files中找到ASPX檔案在ASP.NET下產生的檔案。
   
     6、在ASPX檔案中如何注釋呢?
   
     同ASP檔案中的方法一樣。
     
   
     7、ASPX檔案中是否可以存在一個以上伺服器端 Form 標記?
   
     不可以
   
     8、我可以在Web表單中使用自訂資料類型嗎
   
     可以,你可以把包含自訂資料類型的DLL檔案放在程式根目錄下的BIN目錄中,ASP.NET會在資料類型引用時,裝載DLL檔案的。
   
     9、我能在Global.asax檔案中觸發那些事件?
     Application對象建立和結束時所觸發的事件有
      Application_Start
      Application_End
     Session對象建立和結束時所觸發的事件有
     • Session_Start
     • Session_End
     對程式有請求發生時觸發的事件有 (按發生順序排列)
     • Application_BeginRequest
     • Application_AuthenticateRequest
     • Application_AuthorizeRequest
     • Application_ResolveRequestCache
     • Application_AcquireRequestState
     • Application_PreRequestHandlerExecute
     • Application_PostRequestHandlerExecute
     • Application_ReleaseRequestState
     • Application_UpdateRequestCache
     • Application_EndRequest
     當有程式有錯誤發生時觸發的事件有
     • Application_Error
     • Application_Disposed
     10、Web控制項是否支援樣式表(CSS)呢?
   
     Yes. All Web controls inherit a property named CssClass from the base class System.Web.UI.WebControls.WebControl. The following example defines a CSS class named Input and uses it to modify a TextBox control to display text in red 10-point Verdana type:
   
     支援,所有的Web控制項都從基類System.Web.UI.WebControls.WebControl中繼承了一個叫做CssClass的屬性。
     例如:   

    <html> 
    <head> 
    <style> 
    .Input { font: 10pt verdana; color: red; } 
    </style> 
    </head> 
    <body> 
    <form runat="server"> 
    <asp:TextBox CssClass="Input" RunAt="server" /> 
    </form> 
    </body> 
    </html> 

   11、在ASPX檔案中預設匯入那些名稱空間?
   
     ASPX預設匯入的名稱空間可以直接引用了,使用其它的名稱空間就的自行匯入了。
   
     預設名稱空間
      System
      System.Collections
      System.Collections.Specialized
      System.Configuration
      System.Text
      System.Text.RegularExpressions
      System.Web
      System.Web.Caching
      System.Web.Security
      System.Web.SessionState
      System.Web.UI
      System.Web.UI.HtmlControls
      System.Web.UI.WebControls
     12、我是否可以自己建立伺服器控制項呢?
   
     可以,創作您自己的 ASP.NET 伺服器控制項很容易。建立簡單的自訂控制項時,您所要做的只是定義從 System.Web.UI.Control 派生的類並重寫它的 Render 方法。Render 方法採用 System.Web.UI.HtmlTextWriter 類型的參數。控制項要發送到用戶端的 HTML 作為字串參數傳遞到 HtmlTextWriter 的 Write 方法。
     例如:
    伺服器控制項代碼(簡單顯示字串):Simple.vb: 

    Imports System 
    Imports System.Web 
    Imports System.Web.UI 
    
    Namespace SimpleControlSamples 
    
    Public Class SimpleVB : Inherits Control 
    
    Protected Overrides Sub Render(Output As HtmlTextWriter) 
    Output.Write("<H2>歡迎使用控制項開發!</H2>") 
    End Sub 
    End Class 
    End Namespace 
    引用檔案Simple.aspx: 
    <%@ Register TagPrefix="SimpleControlSamples" Namespace="SimpleControlSamples" Assembly="SimpleControlSamplesVB" %> 
    
    <html> 
    <body> 
    <form method="POST" action="Simple.aspx" runat=server> 
    <SimpleControlSamples:SimpleVB id="MyControl" runat=server/> 
    </form> 
    </body> 
    </html> 

    
     13、如何在ASP.NET程式中發送郵件呢?
   
     在ASP.NET程式中發送郵件不再象ASP中那樣需要組件的支援了,在.NET的架構基類的System.Web.Mail名稱空間內包含的MailMessage和SmtpMail類可以實現這個功能。
     例如: 

     Dim message As new Mail.MailMessage 
     message.From = "web3@163.com" 
     message.To = "web3@163.com" 
     message.Subject = "測試" 
     message.Body = "內容" 
     Mail.SmtpMail.SmtpServer = "localhost" 
     Mail.SmtpMail.Send(message)     
     14、我將如何通過ADO.NET讀取資料庫中的圖片並顯示它呢?
   
     下面舉一個從Microsoft SQL Server的PUB資料庫讀取圖片並顯示它的例子:
     下面舉一個從Microsoft SQL Server的PUB資料庫讀取圖片並顯示它的例子:

    <%@ Import Namespace="System.Data.SqlClient" %> 
    <%@ Import Namespace="System.Drawing" %> 
    <%@ Import Namespace="System.Drawing.Imaging" %> 
    <%@ Import Namespace="System.IO" %> 
    <script language="VB" runat="server"> 
    Sub Page_load(Sender as Object, E as EventArgs) 
    dim stream as new MemoryStream 
    dim connection as SqlConnection 
    connection=new SqlConnection("server=localhost;database=pubs;uid=sa;pwd=") 
    try 
    connection.Open() 
    dim command as SqlCommand 
    command = new SqlCommand ("select logo from pub_info where pub_id='0736'", connection) 
    dim image as byte() 
    image = command.ExecuteScalar () 
    stream.Write (image, 0, image.Length) 
    dim imgbitmap as bitmap 
    imgbitmap = new Bitmap (stream) 
    Response.ContentType = "image/gif" 
    imgbitmap.Save (Response.OutputStream, ImageFormat.Gif) 
    Finally 
    connection.Close() 
    stream.Clse() 
    End Try 
    End Sub 
    </script>



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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