明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

ASP.NET熱點問題回答14個

[摘要]1、ASP.NET能在那些系統(tǒng)中運行?   目前,ASP.NET還只能奔跑在微軟的Windows 2000、Windows XP和Windows 2003的系統(tǒng)中,并且需要微軟Internet Information Server(IIS)的支持,微軟原計劃要讓W(xué)indows NT4.0也支持AS...

  1、ASP.NET能在那些系統(tǒng)中運行?

  目前,ASP.NET還只能奔跑在微軟的Windows 2000、Windows XP和Windows 2003的系統(tǒng)中,并且需要微軟Internet Information Server(IIS)的支持,微軟原計劃要讓W(xué)indows NT4.0也支持ASP.NET,但可能微軟是有些技術(shù)問題或市場考慮,還沒有實現(xiàn)NT下的ASP.NET的支持。

  2、在一個ASPX文件中是否可以使用一種以上的語言?

  答案讓你有點失望,雖然微軟的提供了公共語言運行環(huán)境(CLR,Common Laguage Runtime),實現(xiàn)了多種編程語言間的緊密集成,可以允許你從一個VB對象中導(dǎo)出C#所需的對象來,但一個ASPX文件中只能用一種語言,正如你不能在VB.NET中使用C#的語法一樣。

  3、ASPX文件的服務(wù)器端腳本支持那些語言?

  目前,ASPX文件只支持C#、Visual Basic.NET、Jscript.NET和J#,但是你使用code—behind(代碼分離)的方法創(chuàng)建一個獨立代碼文件,你就可以使用任何.NET編譯器支持的語言來實現(xiàn)功能了。

  4、在Global.asax文件中能使用code—behind(代碼分離)技術(shù)嗎?

  當(dāng)然可以了,例如:
  Global.asax:
  
  和使用code—behind(代碼分離)技術(shù)
  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中生成的代碼嗎?

  可以看到的,當(dāng)你的ASPX文件中包含命令或Web.config中聲明了時,你就可以在系統(tǒng)目錄下的Microsoft.NET\Framework\v1.0.nnnn\Temporary ASP.NET Files中找到ASPX文件在ASP.NET下生成的文件。

  6、在ASPX文件中如何注釋呢?

  同ASP文件中的方法一樣。
  

  7、ASPX文件中是否可以存在一個以上服務(wù)器端 Form 標(biāo)記?

  不可以

  8、我可以在Web窗體中使用自定義數(shù)據(jù)類型嗎

  可以,你可以把包含自定義數(shù)據(jù)類型的DLL文件放在程序根目錄下的BIN目錄中,ASP.NET會在數(shù)據(jù)類型引用時,裝載DLL文件的。

  9、我能在Global.asax文件中觸發(fā)那些事件?
  Application對象創(chuàng)建和結(jié)束時所觸發(fā)的事件有
   Application_Start
   Application_End
  Session對象創(chuàng)建和結(jié)束時所觸發(fā)的事件有
  • Session_Start
  • Session_End
  對程序有請求發(fā)生時觸發(fā)的事件有 (按發(fā)生順序排列)
  • Application_BeginRequest
  • Application_AuthenticateRequest
  • Application_AuthorizeRequest
  • Application_ResolveRequestCache
  • Application_AcquireRequestState
  • Application_PreRequestHandlerExecute
  • Application_PostRequestHandlerExecute
  • Application_ReleaseRequestState
  • Application_UpdateRequestCache
  • Application_EndRequest
  當(dāng)有程序有錯誤發(fā)生時觸發(fā)的事件有
  • 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文件中默認(rèn)導(dǎo)入那些名稱空間?

  ASPX默認(rèn)導(dǎo)入的名稱空間可以直接引用了,使用其它的名稱空間就的自行導(dǎo)入了。

  默認(rèn)名稱空間
   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、我是否可以自己創(chuàng)建服務(wù)器控件呢?

  可以,創(chuàng)作您自己的 ASP.NET 服務(wù)器控件很容易。創(chuàng)建簡單的自定義控件時,您所要做的只是定義從 System.Web.UI.Control 派生的類并重寫它的 Render 方法。Render 方法采用 System.Web.UI.HtmlTextWriter 類型的參數(shù)?丶l(fā)送到客戶端的 HTML 作為字符串參數(shù)傳遞到 HtmlTextWriter 的 Write 方法。
  例如:
    服務(wù)器控件代碼(簡單顯示字符串):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>歡迎使用控件開發(fā)!</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程序中發(fā)送郵件呢?

  在ASP.NET程序中發(fā)送郵件不再象ASP中那樣需要組件的支持了,在.NET的框架基類的System.Web.Mail名稱空間內(nèi)包含的MailMessage和SmtpMail類可以實現(xiàn)這個功能。
  例如:
  Dim message As new Mail.MailMessage
  message.From = "web3@163.com"
  message.To = "web3@163.com"
  message.Subject = "測試"
  message.Body = "內(nèi)容"
  Mail.SmtpMail.SmtpServer = "localhost"
  Mail.SmtpMail.Send(message)

  14、我將如何通過ADO.NET讀取數(shù)據(jù)庫中的圖片并顯示它呢?

  下面舉一個從Microsoft SQL Server的PUB數(shù)據(jù)庫讀取圖片并顯示它的例子:
  下面舉一個從Microsoft SQL Server的PUB數(shù)據(jù)庫讀取圖片并顯示它的例子:
    <%@ 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>




相關(guān)文章