Maison  >  Article  >  développement back-end  >  Explications détaillées de certains problèmes classiques d'ASP.NET

Explications détaillées de certains problèmes classiques d'ASP.NET

零下一度
零下一度original
2017-07-03 16:58:061563parcourir


 1. Dans quels systèmes ASP.NET peut-il s'exécuter ?

Actuellement, ASP.NET ne peut fonctionner que sur les systèmes Microsoft Windows 2000, Windows XP et Windows 2003 et nécessite la prise en charge de Microsoft Internet Information Server (IIS). Microsoft avait initialement prévu de prendre en charge Windows NT4. ASP.NET, mais Microsoft peut rencontrer des problèmes techniques ou des considérations de marché et n'a pas encore implémenté la prise en charge d'ASP.NET sous NT.

 2. Plusieurs langues peuvent-elles être utilisées dans un même fichier ASPX ?

La réponse vous décevra un peu. Bien que Microsoft fournisse un environnement d'exécution de langage commun (CLR, Common Laguage Runtime), qui réalise une intégration étroite entre plusieurs langages de programmation, vous permettant de A. L'objet VB exporte les objets requis par C#, mais un seul langage peut être utilisé dans un fichier ASPX, tout comme vous ne pouvez pas utiliser la syntaxe C# dans VB.NET.

3. Quelles langues les scripts côté serveur des fichiers ASPX prennent-ils en charge ?

Actuellement, les fichiers ASPX ne prennent en charge que C#, Visual Basic.NET, Jscript.NET et J#, mais si vous utilisez la méthode code-behind (séparation de code) pour créer un fichier de code indépendant, vous pouvez utiliser n'importe quel fichier . NET prend en charge le langage pour implémenter la fonction.

4. La technologie code-behind (séparation de code) peut-elle être utilisée dans le fichier Global.asax ?

Bien sûr, par exemple :
Global.asax :

Et utiliser la technologie code-behind (séparation de code)

 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. Je Puis-je voir le code généré par un fichier ASPX dans ASP.NET ?

Comme vous pouvez le constater, lorsque votre fichier ASPX contient des commandes ou est déclaré dans Web.config, vous pouvez retrouver ASPX dans Microsoft.NETFrameworkv1.0.nnnnFichiers ASP.NET temporaires dans le répertoire système Le fichier est généré sous ASP.NET.

6. Comment commenter dans un fichier ASPX ?

Identique à la méthode du fichier ASP.
 

 7. Peut-il y avoir plus d'une balise Form côté serveur dans un fichier ASPX ?

Non Le fichier DLL du type est placé dans le répertoire BIN dans le répertoire racine du programme. ASP.NET chargera le fichier DLL lorsque le type de données est référencé.

9. Quels événements puis-je déclencher dans le fichier Global.asax ? Les événements déclenchés lorsque l'objet Application est créé et terminé sont : Application_Start
Application_End
Les événements déclenchés lorsque l'objet Session est créé et terminé sont
• Session_Start
• Session_End
Droite Les événements déclenchés lorsqu'une requête se produit dans le programme sont (par ordre d'occurrence)
• Application_BeginRequest
• Application_AuthenticateRequest
• Application_AuthorizeRequest
• Application_ResolveRequestCache
• Application_AcquireRequestState
• Application_PreRequestHandlerExecute
• Application_PostRequestHandlerExecute
• Application_ReleaseRequestState
• Application_UpdateRequestCache
• Application_EndRequest
Les événements déclenchés lorsqu'une erreur se produit dans le programme sont
• Application_Error
• Application_Disposed
10 , Que ce soit le champ Web supporte les feuilles de style (CSS) ?

Oui. Tous les contrôles Web héritent d'une propriété nommée CssClass de la classe de base System.Web.UI.WebControls.WebControl L'exemple suivant définit une classe CSS nommée Input et l'utilise pour modifier un contrôle TextBox en afficher
texte en rouge Type Verdana 10 points :

Pris en charge, tous les contrôles Web héritent d'une propriété appelée CssClass de la classe de base System.Web.UI.WebControls.WebControl.
Par exemple :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn