Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterungen einiger klassischer ASP.NET-Probleme

Detaillierte Erläuterungen einiger klassischer ASP.NET-Probleme

零下一度
零下一度Original
2017-07-03 16:58:061575Durchsuche


 1. Auf welchen Systemen kann ASP.NET laufen?

Derzeit kann ASP.NET nur auf den Systemen Windows 2000, Windows XP und Windows 2003 ausgeführt werden und erfordert die Unterstützung von Microsoft Internet Information Server (IIS). Microsoft hatte ursprünglich geplant, auch Windows NT4 zu unterstützen ASP.NET, aber Microsoft hat möglicherweise einige technische Probleme oder Marktüberlegungen und hat die Unterstützung für ASP.NET unter NT noch nicht implementiert.

 2. Kann mehr als eine Sprache in einer ASPX-Datei verwendet werden?

Die Antwort wird Sie ein wenig enttäuschen, obwohl Microsoft eine Common Language Runtime (CLR, Common Laguage Runtime) bereitstellt, die eine enge Integration zwischen mehreren Programmiersprachen ermöglicht, sodass Sie A VB object exportiert die von C# benötigten Objekte, aber in einer ASPX-Datei kann nur eine Sprache verwendet werden, genauso wie Sie die C#-Syntax in VB.NET nicht verwenden können.

3. Welche Sprachen unterstützen die serverseitigen Skripte von ASPX-Dateien?

Derzeit unterstützen ASPX-Dateien nur C#, Visual Basic.NET, Jscript.NET und J#, aber wenn Sie die Code-Behind-Methode (Code-Trennung) verwenden, um eine unabhängige Codedatei zu erstellen, können Sie jede beliebige . NET-Compiler unterstützt die Sprache zur Implementierung der Funktion.

4. Kann Code-Behind-Technologie (Code-Trennung) in der Global.asax-Datei verwendet werden?

Natürlich, zum Beispiel:
Global.asax:

Und Code-Behind-Technologie (Code-Trennung) verwenden

 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

5. I Kann ich den von einer ASPX-Datei generierten Code in ASP.NET sehen?

Wie Sie sehen können, finden Sie ASPX in Microsoft.NETFrameworkv1.0.nnnnTemporäre ASP.NET-Dateien im Systemverzeichnis, wenn Ihre ASPX-Datei Befehle enthält oder in Web.config deklariert ist. Die Datei wird unter generiert ASP.NET.

6. Wie kommentiere ich eine ASPX-Datei?

Identisch mit der Methode in der ASP-Datei.
 

 7. Kann eine ASPX-Datei mehr als ein serverseitiges Form-Tag enthalten?

Nein Die DLL-Datei des Typs wird im BIN-Verzeichnis im Programmstammverzeichnis abgelegt. ASP.NET lädt die DLL-Datei, wenn auf den Datentyp verwiesen wird.

9. Welche Ereignisse kann ich in der Global.asax-Datei auslösen? Die Ereignisse, die ausgelöst werden, wenn das Anwendungsobjekt erstellt und beendet wird, sind: Application_Start
Application_End
Die Ereignisse, die ausgelöst werden, wenn das Sitzungsobjekt erstellt und beendet wird, sind
• Session_Start
• Session_End
Richtig Die Ereignisse, die ausgelöst werden, wenn eine Anforderung im Programm auftritt, sind (in der Reihenfolge ihres Auftretens)
• Application_BeginRequest
• Application_AuthenticateRequest
• Application_AuthorizeRequest
• Application_ResolveRequestCache
• Application_AcquireRequestState
• Application_PreRequestHandlerExecute
• Application_PostRequestHandlerExecute
• Application_ReleaseRequestState
• Application_UpdateRequestCache
• Application_EndRequest
Die Ereignisse, die ausgelöst werden, wenn ein Fehler im Programm auftritt, sind
• Application_Error
• Application_Disposed
10 , Ob Unterstützt das Web-Control Stylesheets (CSS)?

Ja. Alle Web-Steuerelemente erben eine Eigenschaft namens CssClass von der Basisklasse System.Web.UI.WebControls.WebControl. Das folgende Beispiel definiert eine CSS-Klasse namens Input und verwendet sie, um ein TextBox-Steuerelement in display
Text in Rot, 10-Punkt-Verdana-Typ:

Unterstützt, erben alle Websteuerelemente eine Eigenschaft namens CssClass von der Basisklasse System.Web.UI.WebControls.WebControl.
Zum Beispiel:

  
   <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>

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterungen einiger klassischer ASP.NET-Probleme. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn