首頁  >  文章  >  後端開發  >  ASP.NET一些經典的問題詳解

ASP.NET一些經典的問題詳解

零下一度
零下一度原創
2017-07-03 16:58:061518瀏覽

 
  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.
Session
State  
  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

  
   <html>  
    <head>  
    <style>  
    .Input { font: 10pt verdana; color: red; }  
    </style>  
    </head>  
    <body>  
    <form runat="server">  
    <asp:TextBox CssClass="Input" RunAt="server" />  
    </form>  
    </body>  
    </html>
]看到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物件建立與結束時所觸發的事件有問題 ##•〠_  對程式有請求發生時觸發的事件有 (按發生順序排列) 
  • Application_BeginRequest 
  • Application_AuthenticateRequest 
  • Application_AcquireRequestState 
  • Application_PreRequestHandlerExecute 
  • Application_PostRequestHandlerExecute
  • Application_ReleaseRequestState 
  • Application_UpdateRequestCache 
  • Application_EndRequest  ##卷 Application_Disposed 
  10、Web控制項是否支援樣式表(CSS)呢?

  Yes. All Web controls inherit a property named CssClass from the base class System.Web.UI.WebControl 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=&#39;0736&#39;", 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>

以上是ASP.NET一些經典的問題詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn