 |
 |
Sous-programmes
|
Dans un sous-programme, une des mani�res primaires desquelles le code de base visuel est empaquet� sur une page Web, appellent diff�remment un sous-programme ou un proc�d�. Un sous-programme a la structure g�n�rale suivante :
|
Sub name (signature)
...statements
End Sub
|
|
Un sous-programme est identifi� en le sous-marin de mot-cl� � son d�but et le sous-marin d'extr�mit� de mots-cl�s � son extr�mit� et � un nom de sous-programme est un nom programmeur-fourni qui suit des conventions de appellation de base visuelles. Le nom doit �tre unique parmi la collection de sous-programmes � la page. Des commandes de base visuelles, ou les rapports, sont enferm�s � l'int�rieur du sous-programme pour suivre le traitement pour ce que le sous-programme est cr��.
Un sous-programme peut ou peut ne pas exiger une signature et une signature est une liste de variables, appel�e les arguments, qui sont fournis au sous-programme afin il pour suivre son traitement. De divers types de signatures sont donn�s ci-dessous.
Le <script> int�rieur �tiquette avec le runat= " serveur " d'attribut, tous les sous-programmes doit �tre contenu. � l'int�rieur d'une seule paire d'�tiquettes de <script>, tout nombre de sous-programmes peut �tre contenu.
|
Le sous-programme de Page_Load
|
Des sous-programmes sont activ�s pour effectuer leur traitement dans plusieurs mani�res et une des mani�res est d'activer le sous-programme chaque fois que la page Web est acc�d�e, et avant d'envoyer la page au client qui a fait la demande. Ce sous-programme particulier a le Page_Load nomm� exig� et il n'a pas une signature, bien qu'une paire de parenth�ses vides puisse �tre cod�e pour indiquer son absence : Page_Load ().
Le sous-programme de Page_Load n'est pas exig� � moins que l� traite pour avoir lieu chaque fois la page s'ouvre et elle pourrait, par exemple, d�cider de montrer la date du jour � votre page. Dans ce cas-ci pour rechercher la date de syst�me du serveur, le sous-programme de Page_Load serait un endroit appropri� et le placerait dans une commande de rendement � la page, avant d'envoyer la page au navigateur.
|
Sub Page_Load
DateOut.Text = DateString()
End Sub
</SCRIPT>
<html>
<body>
<p>Today is <asp:Label id="DateOut" runat="server"/></p>
</body>
</html>
|
|
D'autres utilisations communes pour le sous-programme de Page_Load sont de peupler les listes drop-down, les checkboxes, et les boutons par radio qui apparaissent � la page, ou d'acc�der � un ensemble de disques d'une base de donn�es pour l'affichage � la page.
|
L'�tat de Page.IsPostBack
|
Chaque fois que la page charge ou est r�g�n�r�e, des rapports qui apparaissent dans le sous-programme de Page_Load sont courus. Souvent des p�riodes, cependant, il est n�cessaire d'effectuer le traitement seulement la premi�re fois que la page charge et c'est pratique courante sous ASP.NET entre o� les commandes de page maintiennent automatiquement leurs valeurs poteau-soutient de la page (quand la page est due recharg� � une action de l'utilisateur). Toutes les commandes participent � l'�tat de la vue de la page et leurs valeurs sont maintenues entre les postings de page.
Car elle a illustr� dans l'exemple ci-dessus, ce besoin de courir un manuscrit seulement la premi�re fois que la page charge et depuis le syst�me la date est assign� � un <asp : La commande de Label>, la valeur de la commande sera montr�e et maintenue si la page est signal�e de nouveau au serveur par une certaine action d'utilisateur. Il n'est pas n�cessaire chaque fois que la page charge pour obtenir la date de syst�me.
Pour ces situations, des rapports de manuscrit sont plac�s � l'int�rieur d'un essai d'�tat de Page.IsPostBack et ils sont ex�cut�s seulement la premi�re fois que la page charge et une commande de serveur est peupl�e avec l'information produite par le manuscrit et plus tard, la commande maintient son information sans doivent repopulate il.
|
<SCRIPT runat="server">
Sub Page_Load
If Not Page.IsPostBack Then
DateOut.Text = DateString()
End If
End Sub
</SCRIPT>
|
|
Appeler des sous-programmes des commandes
|
Dans la plupart des cas, par des commandes de serveur des sous-programmes sont invit�s pour effectuer leur travail par des appels explicites de sous-programme. Les diverses commandes ont de diverses mani�res de lui passer l'information et d'appeler un sous-programme.
Une mani�re commune pour qu'une commande de page appelle un sous-programme est son traiteur d'�v�nement de " sous-programme " d'OnClick= et en appelant un sous-programme pour courir quand l'utilisateur clique la commande. En tant que par exemple, une commande de bouton,
|
<asp:Button OnClick="subprogram" runat="server"/>
|
|
montre un bouton standard � la page et quand l'utilisateur clique le bouton, le sous-programme appel� est couru
|
Signatures de sous-programme
|
Les sous-programmes qui s'appellent des commandes de serveur ont des signatures sp�ciales selon lesquelles le traiteur d'�v�nement fait l'appel et quel type de commande. Ces signatures sont dans le format g�n�ral montr� ci-dessous.
|
La table ci-dessous donne le type d'argument pour les commandes de serveur qui appellent un sous-programme par leurs divers traiteurs d'�v�nement.
|
Control |
Argument Type |
OnClick subprogram call |
<asp:Button>
<asp:ImageButton>
<asp:LinkButton>
|
arguments As EventArgs |
OnCommand subprogram
call |
<asp:Button>
<asp:ImageButton>
<asp:LinkButton>
|
arguments As CommandEventArgs |
OnTextChanged
subprogram call |
<asp:TextBox>
|
arguments As EventArgs |
OnCheckedChanged
subprogram call |
<asp:RadioButton>
<asp:CheckBox>
|
arguments As EventArgs |
OnSelectedIndexChanged
subprogram call |
<asp:RadioButtonList>
<asp:CheckBoxList>
<asp:DropDownList>
<asp:ListBox>
|
arguments As EventArgs |
OnItemCommand
subprogram call |
<asp:Repeater>
<asp:DataGrid>
<asp:DataList>
|
arguments As RepeaterCommandEventArgs
arguments As DataGridCommandEventArgs
arguments As DataListCommandEventArgs
|
OnSortCommand
subprogram call |
<asp:DataGrid>
|
arguments As DataGridSortCommandEventArgs |
|
Arguments pass�s de acc�s
|
Comme exemple simple des genres d'information disponibles par la signature d'un sous-programme et prendre le cas d'un bouton standard qui appelle un sous-programme par son traiteur d'�v�nement d'OnCommand.
|
<SCRIPT runat="server">
Sub MySubprogram (Src As Object, Args As CommandEventArgs)
Identity.Text = Src.id
CommandName.Text = Args.CommandName
End Sub
</SCRIPT>
<asp:Button id="MyButton" runat="server"
OnCommand="MySubprogram"
CommandName="Do My Processing"/></p>
Source Id = <asp:Label id="ID" runat="server"/><br/>
Command Name = <asp:Label id="CommandName" runat="server"/><br/>
|
|
Keywords:
Subprograms using VB.NET,
using source code,
c++ using,
sql using,
using syntax,
c# using,
oracle using,
using statement,
c using,
using programming,
using function,
select using,
java using,
using string,
using object,
update using,
using code,
using command
|