1. La différence entre <%=...%> et <%#... %> :
Réponse : <%=...%> est appelé lorsque le programme est exécuté et <%#... %> est appelé après la méthode DataBind()
2. Quels types de données le contrôle reçoit-il ?
Réponse : Les contrôles qui reçoivent Bind incluent généralement des contrôles de collection tels que DropDownList, DataList, DataGrid et ListBox. Les principaux qui sont regroupés sont ArrayList, Hashtable, DataView et DataReader , nous pourrons y parvenir à l'avenir, et ce sera le cas. il n'y a pas d'erreur si le DataTable est lié :)
3. DataBind, le système utilisera par défaut les données obtenues en String, comment les convertir en d'autres types ?
DataBinder.Eval(Container.DataItem,"type de conversion","format")
Le dernier "format" est facultatif et vous n'avez généralement pas à vous en préoccuper. Container.DataItem est un élément de données groupé et le "type de conversion" fait référence à des éléments tels que Integer, String et Boolean
4. Espace de noms principal :
<% @ Import Namespace="System.Data" %> Utilisé lors du traitement des données
<% @ Import Namespace="System.Data.ADO" % > Utilisé lors de l'utilisation d'ADO.net ;
<% @ Import Namespace="System.Data.SQL" %> Base de données SQL Server uniquement
<% @ Import Namespace="System.Data.XML" %> Pas besoin de regarder ce qui est utilisé pour traiter le XML
<% @ Import Namespace="System.IO" %> Utilisé lors du traitement des fichiers
<% @ Import Namespace="System.Web.Util" %> Tout le monde l'utilisera lors de l'envoi d'e-mails
<% @ Import Namespace="System.Text" %> Les propriétés et méthodes communes de 5.Connections (SQLConection ou ADOConnection) sont utilisées lors de l'encodage du texte
:
| ConnectionString Obtient ou définit l'instruction pour se connecter à la base de données
| ConnectionTimeout obtient ou définit la durée maximale de connexion à la base de données, qui est également le délai d'expiration.
| DataBase obtient ou définit le nom de la base de données à ouvrir sur le serveur de base de données
| DataSource obtient ou définit le DSN, tout le monde le connaît :)
| Mot de passe Obtenir ou définir un mot de passe
| UserID obtient ou définit le nom de connexion
| State obtient l'état de la connexion actuelle
| Open() ouvre la connexion
| Close() ferme la connexion
| Clone() Cloner une connexion. (Haha, les moutons peuvent se connecter et moi aussi)
Exemple:
SQLConnection maConnexion = new SQLConnection();
maConnexion.DataSource = "monServeurSQL" ;
maConnexion.Mot de Passe = "";
maConnexion.UserID = "sa";
maConnexion.ConnectionTimeout = 30 ;
maConnexion.Open();
maConnexion.Database = "northwind";
myConnection.IsolationLevel = IsolationLevel.ReadCommit
6. Méthodes et propriétés couramment utilisées de Command
| ActiveConnection Obtient ou définit les connexions
| CommandText exécute l'instruction SQL ou le nom de la procédure stockée (StoredProcedure)
| CommandTimeout Le temps d'exécution maximum
| CommandType Il existe trois types d'opérations de commande (StoredProcedure, Text, TableDirect), la valeur par défaut est Text.
Paramètres utilisés lors de l'exécution de procédures stockées
| Execute() exécute des instructions SQL ou des procédures stockées
| ExecuteNonQuery() Comme ci-dessus, la différence est qu'il ne renvoie pas de jeu d'enregistrements
Commande de clonage Clone()
Exemple:
string mySelectQuery = "SELECT * FROM Categories ORDER BY CategoryID";
stringmyConnectString="userid=sa;password=;database=northwind;server=mySQLServer";
SQLCommand maCommand = new SQLCommand(mySelectQuery);
maCommand.ActiveConnection = new SQLConnection(myConnectString);
maCommand.CommandTimeout = 15 ;
maCommand.CommandType = CommandType.Text;< /FONT >
7. Deux méthodes pour ouvrir et fermer la base de données :
1.MyConnection.Open(); //Ouvrir la connexion
MaConnexion.Close();
2.MyCommand.ActiveConnection.Open();
MyCommand.ActiveConnection.Close()
8. Utilisez DataSet pour ajouter, modifier et supprimer des données dans la base de données
a.Ajouter des données
DataRow dr=MyDataSet.Tables["UserList"].NewRow();
dr["UserName"] = "Actualités hebdomadaires";
dr["ReMark"] = "100";
dr["Comment"] = "Magnifique MM";
MyDataSet.Tables.Rows.Add(dr);
b.
MyDataSet.Tables["UserList"].Rows[0]["UserName"]="Brother Flying Knife";
c.
MyDataSet.Tables["UserList"],Rows[0].Delete();
d.Restaurer les données
si (MyDataSet.HasErrors)
{
MyDataSet.RejectChanges();
}
e. Détecter si le DataSet a été modifié
si (MyDataSet.HasChanges)
{
//enregistre le code
}autre{
// Comme il n'y a aucune modification, il n'est pas nécessaire de sauvegarder pour gagner du temps.
}
f. Mettre à jour la base de données
MyComm.Update(MyDataSet); //Mettre à jour toutes les tables de la base de données
MyComm.Update(MyDataSet,"UserList"); //Mettre à jour une table
9.DataGrid implémente la fonction de pagination
AllowPaging="True" // Fait référence à l'autorisation de la pagination, c'est le plus important. Avec lui, nous pouvons paginer.
PageSize="5" //Spécifie le nombre d'enregistrements affichés sur chaque page. S'il n'est pas écrit, il sera par défaut de 10.
PagerStyle-HorizontalAlign="Right" //Spécifie le positionnement de l'affichage à facettes, la valeur par défaut est Left
PagerStyle-NextPageText="Page suivante" //Change <> vers les chaînes de la page précédente et de la page suivante
PagerStyle-PrevPageText="Page précédente"
PagerStyle-Mode="NumericPages" //Changer <> en affichage numérique 123
10. Affichez le nombre total de pages et sur quelle page se trouve actuellement le rapport.
La page actuelle est : <font color=red><%=DataGrid1.CurrentPageIndex+1%></font><br>
Le nombre total de pages est : <font color=red><%=DataGrid1.PageCount%></font><br>
11. Pagination personnalisée
"Close Contact ASP.Net (14)" du programmeur's Basecamp a le code complet
12. Pour réinitialiser la page à un état valide
Validateur IV ;
foreach (val dans les validateurs)
{
Val.IsValid = true ;
}
13. Réexécutez toute la séquence de vérification
Validateur IV ;
foreach (val dans les validateurs)
{
Val.Validate();
}
14. Désactiver la vérification du client
<%@ Langue de la page="c#" clienttarget=downlevel %>
15.Utilisation des contrôles Repeater, DataList et DataGrid"
Ces contrôles peuvent simplifier plusieurs scénarios d'application Web courants, notamment les rapports, les paniers d'achat, les listes de produits, les requêtes.
Menu de résultats et de navigation. Repeater est le seul contrôle qui autorise les fragments HTML dans son modèle.
16. La différence entre Server.Execute("another.aspx") et Server.Transfer("another.aspx") :
Exécute les transferts de la page actuelle vers la page spécifiée et renvoie l'exécution à la page actuelle
Le transfert consiste à transférer complètement l'exécution vers la page spécifiée
17. Le fichier XML peut avoir son propre schéma, ou il peut exister dans le fichier *.xsl, mais les informations doivent être spécifiées dans le nœud racine du document XML via l'attribut xmlns, comme indiqué ci-dessous :
<rootelement xmlns="x-schema:scheduledSchema.xsl">
18. Lecture de fichiers XML
FileStream myfs=new Filestream(Server.MapPath("xmldtagrid.xml"),FileMode.Open,FileAccess.Read);
StreamReader myreader=nouveau StreamReader(myfs);
DataSet myds=new DataSet();
myds.ReadXml(monlecteur);
19. Contrôle d'expression régulière RegularExpressionValidator
Symbole Signification
^ Précisez par où commencer le contrôle
$ précise la fin du chèque
[] Vérifie si la valeur saisie correspond à l'un des caractères entre crochets
W permet de saisir n'importe quelle valeur
d{} "d" spécifie que la valeur d'entrée est un nombre, {} indique le nombre d'occurrences du type de données spécifié
+ indique qu'un ou plusieurs éléments seront ajoutés à l'expression en cours de vérification
Exemple : format d'e-mail (comportant le signe @ et se terminant par .com/.net/.org/.edu)
validationexpression="^[w-]+@[w-]+.(com|net|org|edu)$"
20. Déclarations importantes pour les opérations de données dans le contrôle DataGrid :
Propriété : DataKeyField="userid" //Définir l'ID utilisateur comme clé primaire de la table. La valeur de ce champ ne peut pas être mise à jour dans la base de données. Il est préférable de définir la clé primaire de la table comme clé primaire du DataGrid.
SqlCommand.Parameters["@userid"].Value=dg.DataKeys[(int)e.Item.ItemIndex]; //Récupère la clé primaire de la ligne à mettre à jour (attribue la valeur de la clé primaire de la ligne actuellement sélectionnée à la commande est un paramètre
SqlCommand.Parameters["@fname"].Value=((TextBox)e.Item.Cells[2].Controls[0]).Text //Attribuer la valeur de ligne modifiée au paramètre
21. Contrôles personnalisés :
a. Contrôle utilisateur (identique à la page de création ASP)
(I). Créez une page, faites glisser le contrôle et définissez les propriétés/méthodes. La directive @Control dans <% @Control Language="C#" Debug="True" %> pour définir cette page contiendra le code du contrôle.
(II) Enregistrez sous un fichier *.ascx, tel que a.ascx.
(III).Utilisation : En-tête< %@Register Tagprefix="MyFirstControl" TagName="MyLbl" Src="a.axcs" %>
//Tagprefix est le préfixe du contrôle, comme ASP:TextBox en ASP
//TagName est utilisé pour spécifier le nom du contrôle personnalisé
//Src spécifie la source du fichier de contrôle
Corps :<MyFirstControl:MyLbl runat="Server" id="AllMine" MyText="Successful" />
b. Créez des contrôles personnalisés à l'aide de C#
(I). Créez un fichier de code pur, héritez de la classe de base Control et enregistrez-le sous *.cs, tel que a.cs.
(II). Compilez le code pour générer un assembly : csc /t:library /r:System.dll,System.Web.Dll a.cs
//la bibliothèque indique au compilateur C# de générer un assembly
// /r:System.dll System.Web.Dll indique au compilateur C# de référencer l'assembly spécifié
(III). Placez le fichier dll généré dans le répertoire bin.
(IV).Utilisez : <% @Register TagPrefix="Mine" Namespace="MyOwnControls" Assembly="a" %>
22. Précautions pour les contrôles composites :
classe publique MyCompositin:Control,INamingContainer //INamingContainer : s'il existe plusieurs instances de ce contrôle sur la page, cette interface peut donner à chaque instance {} un indicateur unique
this.EnsureChildControls();//Indique que le contrôle composite sera All les contrôles enfants sont rendus sur la page. Cette méthode vérifie si le contrôle serveur contient des contrôles enfants
CreateChildControls.
23.Quand Button/LinkButton/ImageButton/HyperLink sont-ils utilisés ?
1.Button et ImageButton sont utilisés pour renvoyer les données au serveur.
2.L'hyperlien est utilisé pour naviguer entre les pages
3.LinkButton est utilisé pour enregistrer des données sur le serveur ou accéder aux données sur le serveur
24. Suivi et débogage
piste:
1. Traçage au niveau de la page : incluez les instructions de page suivantes au début de la page <%@ Page Trace="True" TraceMode="SortByCategory/SortByTime" %>
Message personnalisé :
Trace.Write("Voici la chaîne à afficher");
Trace.Warn("Voici la chaîne à afficher"); //Identique à Trace.Write, sauf que la police est rouge
Vérifiez si le suivi est utilisé
Exemple : if(Trace.IsEnabled) { Trace.Warn("Le traçage est activé")}
2. Traçage au niveau de l'application : <trace activé="true" pageOutput="true"/> dans la section <System.Web> du fichier Web.config
25. Configurer le cache :
1.Mise en cache de sortie :
I. Paramètres de la page : ajoutez <%@ OutputCache Duration="120" VaryByParam="none" %> au début de la page qui doit être mise en cache
Remarque : Le contenu de la sortie reste inchangé dans les deux dernières minutes suivant la demande de cette page.
II. Paramètres programmatiques :
Utilisez principalement des méthodes sous la classe System.Web.HttpCachePolicy
(1). Response.Cache.SetExpires(DateTime.Now.AddSeconds(120)); //Le délai d'expiration doit être spécifié dans cette méthode, comme cette //phrase est de deux minutes.
(2). Réponse.Cache.SetExpires(DateTime.Now.AddSeconds(120));
Response.Cache.SetSlidingExpiration(true); //"Expiration réglable" est principalement utilisé pour les situations où le nombre de visites est important au début, mais ensuite le nombre de visites //est équilibré
Fonction : La première ligne définit le délai d'expiration du cache et la deuxième ligne active l'expiration glissante (expiration réglable).
2. Cache de données :
(1).DataView maSource ; (2).Attribuer une valeur à maSource ;
(3).Cache["myCache"]=maSource; (4).mySource=(DataView)Cache["myCache"]
26. Déploiement : copiez directement sur le serveur du produit pour copier l'instruction : XCOPY <source_path> <destination_path> //XOPY n'accepte que les chemins physiques, pas les chemins virtuels